/* US LUXRIDE — site tweaks (loads after home-refresh.css).
   Homepage section changes + FAQ page styling. Presentation only. */

:root{
  --ut-ink:#0B0B0D;
  --ut-gold-1:#FFE2A8;
  --ut-gold-2:#FFB53D;
  --ut-gold-grad:linear-gradient(120deg,#FFE2A8 0%,#FFB53D 45%,#E0901F 100%);
  --ut-ease:cubic-bezier(.22,.8,.24,1);
  --ut-serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --ut-line:#E8DFCF;
}

/* ---------- Sections moved off the homepage (FAQ + Journal now live in the menu) ---------- */
body.home .elementor-75 .elementor-element.elementor-element-2dbdabf,  /* repeated "Book Your Ride Now" */
body.home .elementor-75 .elementor-element.elementor-element-c409700,  /* FAQ  -> /faq/ */
body.home .elementor-75 .elementor-element.elementor-element-73c927f{  /* Journal -> /category/blog/ */
  display:none!important;
}
body.home .ul-replaced{display:none!important}
body.home #ul-booking-switcher{scroll-margin-top:96px}

/* ---------- Hero: slider arrows no longer sit on top of the subtitle (desktop/tablet) ---------- */
@media(min-width:768px){
  body.home .elementor-75 .elementor-element.elementor-element-3a590b0 .slider_v1 .arrowfraction_box{
    top:auto!important;bottom:72px!important;
  }
}

/* ---------- States We Operate In: centered title + full-width state cards ---------- */
body.home .elementor-75 .elementor-element.elementor-element-f960582.ul-states-section{--padding-top:88px;--padding-bottom:88px}
body.home .elementor-75 .ul-states-section>.e-con-inner{
  flex-direction:column!important;align-items:center!important;gap:40px!important;
}
body.home .elementor-75 .ul-states-section>.e-con-inner>.e-con{
  --width:100%!important;width:100%!important;max-width:100%!important;padding-left:0!important;padding-right:0!important;
  align-items:center!important;
}
body.home .elementor-75 .ul-states-section .title_all_box{text-align:center!important;display:flex;flex-direction:column;align-items:center}
body.home .elementor-75 .ul-states-section .title_all_box .lx-eyebrow::after{content:"";width:28px;height:1.5px;border-radius:2px;background:var(--ut-gold-grad)}
body.home .elementor-75 .ul-states-section .title_all_box .font-44{margin-bottom:6px!important}
body.home .elementor-75 .ul-states-section .title_all_box::after{
  content:"Door-to-door chauffeur service across the capital region and New York.";
  display:block;margin-top:8px;font-size:17px;line-height:1.7;color:#6B6D74;
}
.ul-states{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;
  width:100%;max-width:1170px;
}
.ul-state{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;min-height:300px;padding:26px 24px 24px;
  border-radius:24px;text-decoration:none!important;
  background:
    radial-gradient(ellipse at 100% 0%,rgba(224,144,31,.26),transparent 55%),
    radial-gradient(ellipse at 0% 100%,rgba(226,180,92,.08),transparent 50%),
    linear-gradient(160deg,#1E1F24 0%,#0B0B0D 80%);
  border:1px solid rgba(226,180,92,.28);
  box-shadow:0 24px 48px -30px rgba(0,0,0,.55);
  transition:transform .5s var(--ut-ease),box-shadow .5s var(--ut-ease),border-color .3s;
}
.ul-state::before{ /* gold edge that draws in across the top on hover */
  content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--ut-gold-grad);
  transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ut-ease);
}
.ul-state:hover::before{transform:scaleX(1)}
.ul-state-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:26px}
.ul-state-go{
  display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(226,180,92,.4);color:var(--ut-gold-1);font-size:16px;
  transition:background .35s,color .35s,transform .45s var(--ut-ease),border-color .35s;
}
.ul-state:hover .ul-state-go{background:var(--ut-gold-grad);color:#17120A;border-color:transparent;transform:rotate(45deg)}
.ul-state-tag{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#C99A4B;margin-top:6px}
.ul-state-rule{display:block;width:32px;height:1.5px;border-radius:2px;background:rgba(226,180,92,.45);margin:16px 0 12px;transition:width .5s var(--ut-ease)}
.ul-state:hover .ul-state-rule{width:56px}
.ul-states-more{
  display:inline-flex;align-items:center;gap:8px;margin-top:6px;
  color:#A86F12!important;font-weight:700;font-size:15px;text-decoration:none!important;
  border-bottom:1.5px solid rgba(168,111,18,.3);padding-bottom:3px;transition:gap .35s var(--ut-ease),border-color .3s;
}
.ul-states-more:hover{gap:14px;border-color:#A86F12}
.ul-state::after{ /* soft light sweep on hover */
  content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.12),transparent);transform:skewX(-18deg);
  transition:left .9s var(--ut-ease);pointer-events:none;
}
.ul-state:hover{transform:translateY(-6px);border-color:rgba(255,181,61,.7);box-shadow:0 34px 60px -30px rgba(224,144,31,.55)}
.ul-state:hover::after{left:130%}
.ul-state:focus-visible{outline:2px solid var(--ut-gold-2);outline-offset:3px}
.ul-state-code{
  font-family:var(--ut-serif);font-weight:500;font-size:56px;line-height:.9;letter-spacing:-.02em;
  background:var(--ut-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.ul-state-name{font-family:var(--ut-serif);font-weight:500;font-size:24px;line-height:1.2;color:#fff;white-space:nowrap}
.ul-state-places{font-size:13.5px;line-height:1.6;color:#AEB0B7;margin-bottom:18px}
.ul-state-air{
  display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:auto;
  padding:5px 10px;border-radius:999px;border:1px solid rgba(226,180,92,.35);
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ut-gold-1);
}
.ul-state-air svg{width:13px;height:13px;flex:0 0 13px}
@media(max-width:1199px){.ul-states{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
  body.home .elementor-75 .elementor-element.elementor-element-f960582.ul-states-section{--padding-top:56px;--padding-bottom:56px}
  body.home .elementor-75 .ul-states-section>.e-con-inner{gap:26px!important}
  body.home .elementor-75 .ul-states-section .title_all_box::after{font-size:15px}
  .ul-states{gap:12px}
  .ul-state{min-height:0;padding:18px 16px 16px;border-radius:20px}
  .ul-state-head{margin-bottom:14px}
  .ul-state-code{font-size:38px}
  .ul-state-go{width:30px;height:30px;font-size:13px}
  .ul-state-name{font-size:17px;white-space:normal}
  .ul-state-tag{font-size:9.5px;letter-spacing:.12em}
  .ul-state-rule{margin:10px 0 8px}
  .ul-state-places{font-size:12px;margin-bottom:12px}
  .ul-state-air{font-size:10px;padding:4px 8px}
}

/* ---------- Our Fleet: warmer, more inviting copy styling ---------- */
body.home .fleet_card p.text-14{
  font-family:var(--ut-serif)!important;font-style:italic;font-weight:400!important;
  font-size:15.5px!important;letter-spacing:0!important;text-transform:none!important;line-height:1.45;
  color:#8A6424!important;
}
body.home .elementor-75 .elementor-element-76a70c0 .title_all_box p{max-width:520px}

/* ---------- How It Works: 4 real booking steps ---------- */
.ul-steps-wrap{width:100%;margin-top:8px}
.ul-steps{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;
  counter-reset:none;position:relative;
}
.ul-steps::before{ /* gold connector line behind the step numbers */
  content:"";position:absolute;left:8%;right:8%;top:47px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(226,180,92,.5) 12%,rgba(226,180,92,.5) 88%,transparent);
}
.ul-step{
  position:relative;display:flex;flex-direction:column;gap:10px;
  padding:26px 24px 26px;border-radius:22px;
  background:rgba(255,255,255,.035);border:1px solid rgba(226,180,92,.18);
  transition:transform .45s var(--ut-ease),background .4s,border-color .4s;
}
.ul-step:hover{transform:translateY(-6px);background:linear-gradient(140deg,rgba(226,180,92,.16),rgba(226,180,92,.03));border-color:rgba(226,180,92,.55)}
.ul-step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ul-step-icon{
  position:relative;z-index:1;
  display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  background:var(--ut-gold-grad);color:#17120A;box-shadow:0 12px 24px -12px rgba(224,144,31,.8),inset 0 1px 0 rgba(255,255,255,.5);
}
.ul-step-icon svg{width:22px;height:22px}
.ul-step-num{font-family:var(--ut-serif);font-size:30px;line-height:1;color:rgba(255,226,168,.28)}
.ul-step h3{margin:0!important;font-family:var(--ut-serif)!important;font-weight:500!important;font-size:21px!important;line-height:1.25;color:#fff!important}
.ul-step p{margin:0!important;color:#B4B7BE!important;font-size:15px!important;line-height:1.65}
.ul-steps-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 22px;margin-top:34px}
.ul-steps-primary{
  display:inline-flex;align-items:center;gap:10px;padding:16px 30px;border-radius:999px;
  background:var(--ut-gold-grad);color:#17120A!important;font-weight:700;font-size:15px;letter-spacing:.02em;text-decoration:none!important;
  box-shadow:0 14px 30px -14px rgba(224,144,31,.75),inset 0 1px 0 rgba(255,255,255,.45);
  transition:transform .35s var(--ut-ease),filter .3s;
}
.ul-steps-primary:hover{transform:translateY(-2px);filter:brightness(1.05)}
.ul-steps-ghost{color:#F6D9A2!important;font-size:14.5px;text-decoration:none!important;border-bottom:1px solid rgba(246,217,162,.35);padding-bottom:2px;transition:border-color .3s,color .3s}
.ul-steps-ghost:hover{color:#fff!important;border-color:#fff}
@media(max-width:1024px){
  .ul-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ul-steps::before{display:none}
}
@media(max-width:600px){
  .ul-steps{grid-template-columns:1fr;gap:12px}
  .ul-step{padding:20px 20px 22px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 14px}
  .ul-step-top{margin:0;flex:0 0 auto}
  .ul-step-num{display:none}
  .ul-step h3{flex:1 1 0;font-size:19px!important}
  .ul-step p{flex:1 1 100%}
  .ul-steps-cta{flex-direction:column}
  .ul-steps-primary{width:100%;justify-content:center}
}

/* ---------- Why US LUXRIDE: three boxes, identical size ---------- */
body.home .elementor-75 .elementor-element-4e07375>.e-con-inner{align-items:stretch!important}
body.home .elementor-75 .elementor-element-4e07375>.e-con-inner>.e-con{display:flex!important;flex-direction:column!important;align-self:stretch!important}
body.home .elementor-75 .elementor-element-4e07375 .elementor-widget-luxride-icon-box-widget-v1{flex:1 1 auto!important;display:flex;flex-direction:column}
body.home .elementor-75 .elementor-element-4e07375 .elementor-widget-luxride-icon-box-widget-v1>.elementor-widget-container{flex:1 1 auto;display:flex;flex-direction:column}
body.home .elementor-75 .elementor-element-4e07375 .icon-box-widget.style_one{flex:1 1 auto;display:flex!important;flex-direction:column;align-items:center}
@media(min-width:768px){
  body.home .elementor-75 .elementor-element-4e07375 .elementor-widget-spacer{display:none!important}
}

/* ---------- Mobile: compact booking tabs under the slider ---------- */
@media(max-width:767px){
  body.home #ul-booking-switcher{padding:34px 14px 38px!important}
  body.home .ul-switcher-intro{margin-bottom:18px!important}
  body.home .ul-switcher-intro h2{font-size:28px!important;margin:8px 0 6px!important}
  body.home .ul-switcher-intro p{font-size:14px!important}
  body.home .ul-booking-tabs{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important}
  body.home .ul-booking-tabs>button{
    min-height:0!important;padding:16px 14px 14px!important;border-radius:18px!important;
    display:flex!important;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;
  }
  body.home .ul-booking-tabs>button .ul-tab-number{font-size:9.5px!important;letter-spacing:.14em!important;line-height:1.3}
  body.home .ul-booking-tabs>button strong{font-size:19px!important;line-height:1.2;margin:0!important}
  /* drop the long description + "selected" line on phones; keep title and a small arrow */
  body.home .ul-booking-tabs>button>span:not(.ul-tab-number){display:none!important}
  body.home .ul-booking-tabs>button b{
    display:flex!important;align-items:center;justify-content:space-between;width:100%;
    margin-top:4px!important;padding-top:10px!important;font-size:12.5px!important;line-height:1.2;
  }
  body.home .ul-booking-tabs b>span{width:28px!important;height:28px!important;font-size:14px!important}
}

/* ---------- FAQ page (/faq/) ---------- */
.page-id-25682 .ul-faq-intro{max-width:760px;margin:0 auto 28px!important;text-align:center;color:#6B6D74;font-size:17px;line-height:1.7}
.page-id-25682 .ul-faq-intro a{color:#A86F12;font-weight:600}
.page-id-25682 .wp-block-details{
  max-width:860px;margin:0 auto 12px!important;padding:0!important;
  background:#fff;border:1px solid var(--ut-line);border-radius:18px;
  box-shadow:0 1px 2px rgba(20,16,8,.03);overflow:hidden;transition:border-color .3s,box-shadow .4s var(--ut-ease);
}
.page-id-25682 .wp-block-details[open]{border-color:#EBCB8C;box-shadow:0 18px 40px -22px rgba(20,16,8,.22)}
.page-id-25682 .wp-block-details summary{
  position:relative;list-style:none;cursor:pointer;
  padding:20px 64px 20px 22px;font-size:17px;font-weight:600;line-height:1.45;color:var(--ut-ink);
}
.page-id-25682 .wp-block-details summary::-webkit-details-marker{display:none}
.page-id-25682 .wp-block-details summary::after{
  content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#F8F4ED;border:1px solid var(--ut-line);font-size:18px;font-weight:400;color:var(--ut-ink);
  transition:background .3s,transform .45s var(--ut-ease);
}
.page-id-25682 .wp-block-details[open] summary::after{content:"−";background:var(--ut-gold-grad);border-color:transparent;transform:translateY(-50%) rotate(180deg)}
.page-id-25682 .wp-block-details summary:focus-visible{outline:2px solid var(--ut-gold-2);outline-offset:-2px;border-radius:18px}
.page-id-25682 .wp-block-details>p{padding:0 22px 22px;margin:0!important;color:#6B6D74;font-size:15.5px;line-height:1.75}
.page-id-25682 .wp-block-details>p a{color:#A86F12;font-weight:600}
@media(max-width:767px){
  .page-id-25682 .wp-block-details summary{padding:18px 58px 18px 18px;font-size:16px}
  .page-id-25682 .wp-block-details>p{padding:0 18px 18px}
}

@media(prefers-reduced-motion:reduce){
  .ul-state,.ul-step,.ul-steps-primary,.ul-state::after{transition:none!important}
}
