/*──────────────────────────────────────────────
  SECTION ①  –  HELICOPTER SLIDESHOW (square)
──────────────────────────────────────────────*/
.heli-slider{
  position:relative;
  width:100%;
  max-width:600px;
  aspect-ratio:1/1;
  margin:0 auto;
  overflow:hidden;
}
.heli-slider img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  opacity:0;
  animation:heli-fade 8s infinite ease-in-out;
}
.heli-slider img:nth-child(1){animation-delay:0s}
.heli-slider img:nth-child(2){animation-delay:2s}
.heli-slider img:nth-child(3){animation-delay:4s}
.heli-slider img:nth-child(4){animation-delay:6s}
/* Cross-fade */
@keyframes heli-fade{
  0%{opacity:0}
  10%{opacity:1}
  40%{opacity:1}
  50%{opacity:0}
  100%{opacity:0}
}
/* Caption */
.heli-caption{
  font-family:'Barlow',sans-serif;
  font-size:1em;
  text-align:center;
  color:#708090;
  margin-top:1rem;
}

/*──────────────────────────────────────────────
  SECTION ②  –  TINTED “SPACER” SVG MASK
──────────────────────────────────────────────*/
.tinted-spacer{
  width:350px;
  aspect-ratio:500/50;       /* adjust if PNG ratio differs */
  background:#708090;
  margin:0 auto;
  display:block;
  /* PNG used as mask so the bar is coloured */
  -webkit-mask:url('https://galacticmedallion.com/wp-content/uploads/2025/05/glamed_spacer_icon.png')
               center / contain no-repeat;
          mask:url('https://galacticmedallion.com/wp-content/uploads/2025/05/glamed_spacer_icon.png')
               center / contain no-repeat;
}

/*──────────────────────────────────────────────
  SECTION ③  –  LIMO HERO  (full-screen slideshow)
──────────────────────────────────────────────*/
.limo-hero{position:relative;width:100vw;height:100vh;background:#fff;overflow:hidden;}
/* slideshow container */
.limo-hero__slideshow{position:absolute;top:0;left:0;width:100%;height:100%;}
/* individual slide */
.limo-hero__slide{
  position:absolute;top:0;left:0;width:100%;height:100%;
  background:center/cover no-repeat;
  opacity:0;transition:opacity 1s ease;
}
.limo-hero__slide.active{opacity:.3;}
/* overlay text */
.limo-hero__overlay{
  position:absolute;top:10%;left:50%;transform:translateX(-50%);
  z-index:10;text-align:center;color:#708090;font-family:'Cormorant Garamond',serif;
}
.limo-hero__overlay h1{
  font-size:5rem;font-weight:500;line-height:1;margin:0;
  color:#708090;font-family:'Cormorant Garamond',serif;
}

/*── ③-A  LIMO HERO – Responsive swaps (≤1024 px) ─────────────────────*/
@media (max-width:1024px){
  .limo-hero{height:100vw;}                   /* square hero           */
  /* replace with square crops */
  .limo-hero__slide:nth-child(1){background-image:url('https://galacticmedallion.com/wp-content/uploads/2025/03/suburban-empire_square.jpg')!important;}
  .limo-hero__slide:nth-child(2){background-image:url('https://galacticmedallion.com/wp-content/uploads/2025/03/ford-expeditionsquare.jpg')!important;}
  .limo-hero__slide:nth-child(3){background-image:url('https://galacticmedallion.com/wp-content/uploads/2025/03/Cadillac_escaladesquare.jpg')!important;}
  .limo-hero__slide:nth-child(4){background-image:url('https://galacticmedallion.com/wp-content/uploads/2025/03/limosquare.jpg')!important;}
  .limo-hero__slide:nth-child(5){background-image:url('https://galacticmedallion.com/wp-content/uploads/2025/03/555square.jpg')!important;}
  .limo-hero__slide:nth-child(6){background-image:url('https://galacticmedallion.com/wp-content/uploads/2025/03/444square.jpg')!important;}
  .limo-hero__slide:nth-child(7){background-image:url('https://galacticmedallion.com/wp-content/uploads/2025/03/333square.jpg')!important;}
  .limo-hero__slide:nth-child(8){background-image:url('https://galacticmedallion.com/wp-content/uploads/2025/03/22square.jpg')!important;}
  .limo-hero__slide{background-size:contain!important;}
  .limo-hero__overlay{top:5%;}
  .limo-hero__overlay h1{font-size:3.5rem;}
}
/*── ③-B  Smaller mobile tweaks ───────────────────────────────────────*/
@media (max-width:682px){
  .limo-hero__overlay{padding:0 10px;}
  .limo-hero__overlay h1{font-size:2rem;}
}
@media (max-width:429px){
  .limo-hero__overlay h1{font-size:1.8rem;font-weight:600;}
}
@media (max-width:375px){
  .limo-hero__overlay h1{font-size:1.5rem;font-weight:600;}
}

/*──────────────────────────────────────────────
  SECTION ④  –  LUXURY ACCORDION
──────────────────────────────────────────────*/
.luxury-accordion-wrapper{max-width:800px;margin:0 auto;padding:1rem;}

.luxury-title{
  text-align:center;
  font-family:'Cormorant Garamond',serif !important;
  font-size:3rem;
  color:#708090 !important;
  margin-bottom:2rem;
  line-height:1em;
}

/* top SVG */
.luxury-svg{
  text-align:center;margin-bottom:2rem;
  opacity:0;transform:translateX(50px);
  animation:fadeInRightSVG 2.5s ease forwards;
}
@keyframes fadeInRightSVG{
  from{opacity:0;transform:translateX(50px)}
  to{opacity:1;transform:translateX(0)}
}

/* ─────────────────────────────────────────────
   LUXURY ACCORDION – Structure + Marker (unchanged behavior)
   ───────────────────────────────────────────── */

.luxury-accordion-wrapper{max-width:800px;margin:0 auto;padding:1rem;}

.accordion details{
  border:1px solid #ccc;
  border-radius:4px;
  overflow:hidden;
  margin-bottom:1rem;
  opacity:0;
  transform:translateX(-100px);
  animation:fadeInLeft 1s ease forwards;
}
.accordion details:nth-of-type(1){animation-delay:.3s;}
.accordion details:nth-of-type(2){animation-delay:.6s;}
.accordion details:nth-of-type(3){animation-delay:.9s;}
.accordion details:nth-of-type(4){animation-delay:1.2s;}
.accordion details:nth-of-type(5){animation-delay:1.5s;}
.accordion details:nth-of-type(6){animation-delay:1.8s;}
.accordion details:nth-of-type(7){animation-delay:2.1s;}
@keyframes fadeInLeft{from{opacity:0;transform:translateX(-100px)}to{opacity:1;transform:translateX(0)}}

.accordion details > summary{
  position:relative;
  background:#f8f1e4;
  cursor:pointer;
  font-weight:bold;
  font-family:'Cormorant Garamond',serif;
  font-size:24px;
  color:#40464c;
  line-height:1.1;
  padding:1rem 1rem 1rem 2.25rem;   /* left gutter for icon; wraps align */
  list-style:none;
}
.accordion details > summary::-webkit-details-marker{display:none;}
.accordion details > summary::marker{content:"";}
.accordion details > summary::before{
  content:"";
  position:absolute;left:0.9rem;top:50%;
  width:.6rem;height:.6rem;
  border:.18rem solid currentColor;border-left:0;border-top:0;
  transform:translateY(-50%) rotate(45deg); /* ► */
  transition:transform .2s ease;
}
.accordion details[open] > summary{background:#fff;}
.accordion details[open] > summary::before{
  transform:translateY(-50%) rotate(135deg); /* ▼ */
}

/* ─────────────────────────────────────────────
   CONTENT TYPOGRAPHY – graceful spacing
   ───────────────────────────────────────────── */

.accordion .content{
  /* base */
  --space-1: .35rem;   /* tight */
  --space-2: .6rem;    /* paragraph spacing */
  --space-3: .9rem;    /* between blocks/lists */
  --space-4: 1.25rem;  /* sectiony spacing */

  padding:1rem;
  background:#fff;
  font-family:'Barlow',sans-serif;
  color:#40464c;
  line-height:1.55;
  animation:fadeIn .5s ease-in-out;
}

/* paragraphs */
.accordion .content p{
  margin:0 0 var(--space-2);
}
.accordion .content p + p{
  margin-top: var(--space-1);           /* slightly tighter between consecutive paragraphs */
}

/* headings inside content (optional) */
.accordion .content h3,
.accordion .content h4{
  font-family:'Cormorant Garamond',serif;
  color:#40464c;
  line-height:1.2;
  margin: var(--space-4) 0 var(--space-2);
}
.accordion .content h4{ font-size:1.15em; }

/* lists */
.accordion .content ul,
.accordion .content ol{
  margin: var(--space-3) 0 var(--space-3) 1.25rem; /* outside bullets; nice left gutter */
  padding: 0;
}

/* bullet spacing */
.accordion .content li{
  margin: 0 0 var(--space-1);
  padding-left: .125rem;                 /* tiny optical indent */
}
.accordion .content li + li{
  margin-top: var(--space-1);            /* consistent vertical rhythm between bullets */
}

/* nested lists slightly tighter and indented */
.accordion .content li ul,
.accordion .content li ol{
  margin: var(--space-2) 0 var(--space-2) 1.1rem;
}

/* improve marker clarity without making bullets huge */
.accordion .content ul li::marker{ font-size: .9em; color:#6c737a; }
.accordion .content ol li::marker{ font-weight: 600; color:#6c737a; }

/* tighten last element bottom edge */
.accordion .content > *:last-child{
  margin-bottom: 0 !important;
}

/* links, emphasis (optional niceties) */
.accordion .content a{
  color:#5A0000;
  text-underline-offset: .15em;
}
.accordion .content strong{ font-weight: 700; }
.accordion .content em{ font-style: italic; }

/* small screens */
@media (max-width:600px){
  .accordion details > summary{ font-size:20px; padding:.75rem .75rem .75rem 2rem; }
  .accordion .content{
    --space-2: .55rem;
    --space-3: .8rem;
    padding:.75rem;
  }
}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}


/*──────────────────────────────────────────────
  SECTION ⑤ – SPEAKERS / FEATURED GUEST (refined)
──────────────────────────────────────────────*/

/* Page wrapper */
.speakers-page{
  width:100%;
  min-height:70vh;
  background:transparent;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}

/* Inner container */
.speakers-container{
  max-width:900px;
  width:100%;
  margin:0 auto;
  padding:2rem 2rem 0;
  box-sizing:border-box;
  opacity:0;
  transform:translateY(40px);
  animation:fadeInContainer 1.2s ease forwards;
}
@keyframes fadeInContainer{
  to{opacity:1;transform:translateY(0)}
}

/* Headings */
.speakers-title,
.speakers-subtitle{
  font-family:'Cormorant Garamond',serif!important;
  color:#708090!important;
  margin-bottom:1rem;
}
.speakers-title{
  text-align:center;
  font-size:clamp(2.1rem, 1.9rem + 1vw, 2.6rem);
  margin-bottom:1.75rem;
  letter-spacing:.02em;
}
.speakers-subtitle{
  font-size:clamp(1.5rem, 1.35rem + .6vw, 1.85rem);
  margin-top:1.75rem;
  line-height:1.2;
}

/* Body copy — smaller, elegant */
.speakers-intro,
.speaker-text{
  font-family:'Barlow',sans-serif;
  color:#40464c;
  font-size:clamp(.96rem, .9rem + .2vw, 1.05rem);
  line-height:1.62;
  letter-spacing:.004em;
}

/* Paragraph rhythm */
.speakers-intro p,
.speaker-text p{ margin:0 0 .8rem; }
.speakers-intro p + p,
.speaker-text p + p{ margin-top:.3rem; }

/* Neutralize manual <br> inside these blocks */
.speakers-intro br,
.speaker-text br{ display:none; }

/* Featured speaker row */
.featured-speaker{
  display:flex;
  flex-wrap:wrap;
  gap:2rem;                           /* will be reduced on mobile */
  opacity:0;
  transform:translateX(-40px);
  animation:fadeInLeft 1s ease forwards .6s;
}
@keyframes fadeInLeft{
  from{opacity:0;transform:translateX(-40px)}
  to{opacity:1;transform:translateX(0)}
}

.speaker-text{ flex:1 1 360px; }
.speaker-image{
  flex:1 1 360px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.speaker-image img{
  width:100%;
  max-width:400px;
  border-radius:8px;
  object-fit:cover;
}

/* Bottom spacer SVG */
.speakers-svg-bottom{
  text-align:center;
  margin-top:1rem;
  margin-bottom:0!important;
  opacity:0;
  transform:translateY(40px);
  animation:fadeInUp 1.2s ease forwards .5s;
}
@keyframes fadeInUp{
  from{opacity:0;transform:translateY(40px)}
  to{opacity:1;transform:translateY(0)}
}
.speakers-svg-bottom svg{
  width:200px;height:auto;display:block;margin:0 auto;
}

/*──────────────────────────────────────────────
  Responsive tweaks
──────────────────────────────────────────────*/
@media (max-width:900px){
  .speakers-container{ padding: 1.5rem 1.25rem 0; }
}

@media (max-width:600px){
  /* tighten vertical gap between text (with button) and image */
  .featured-speaker{
    flex-direction: column;
    gap: clamp(.2rem, 1vw, .35rem) !important;
  }

  /* ensure no extra bottom margin in the text column before the image */
  .speaker-text > *:last-child{ margin-bottom: 0 !important; }

  /* image spacing */
  .speaker-image img{
    max-width: 100%;
    margin-top: 0 !important;
  }

  /* center + enlarge the CTA button on mobile */
  .speaker-text{
    display: flex;
    flex-direction: column;
  }
  .guest-speakers-link{
    align-self: center;
    display: inline-flex;
    justify-content: center;
    align-items: center;

    font-size: 1.25rem !important;
    font-weight: 400 !important;              /* mobile weight */
    padding: .8rem 1.75rem !important;
    border-radius: 8px !important;
    margin: .2rem 0 0 !important;
    text-align: center;
  }

  .speakers-title{ margin-bottom: 1.25rem; }
  .speakers-subtitle{ margin-top: 1.25rem; }
}

/*──────────────────────────────────────────────
  SECTION ⑥ – CTA LINK (“More guest speakers”)
──────────────────────────────────────────────*/
.guest-speakers-link{
  display: inline-block;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 400;                             /* desktop/tablet base */
  text-transform: uppercase !important;
  font-size: 1.1rem;
  color: #708090;
  background: #fff;
  border: 2px solid #708090;
  padding: .5rem 1.25rem;
  border-radius: 4px;
  transition: background-color .3s, color .3s, border-color .3s, transform .08s ease;
  text-align: center;
}
.guest-speakers-link:hover,
.guest-speakers-link:focus-visible{
  background: #708090;
  color: #fff;
  border-color: #708090;
}
.guest-speakers-link:active{ transform: translateY(1px); }

/* Ensure 400 weight specifically above 601px (wins over any kit rules) */
@media (min-width:601px){
  .guest-speakers-link{ font-weight: 400 !important; }
}

/*──────────────────────────────────────────────
  Collapse the Elementor section forcing 100vh
──────────────────────────────────────────────*/
.elementor-14531 .elementor-element.elementor-element-065c2a9{
  min-height: auto !important;   /* was 100vh */
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/*──────────────────────────────────────────────
  Very narrow phones (≤420px)
  - prevent overlap
  - reduce horizontal padding
  - slightly smaller font to avoid wrapping
──────────────────────────────────────────────*/
@media (max-width:420px){
  .featured-speaker{
    flex-direction: column;
    gap: .4rem !important;
  }

  .speaker-text > *:last-child{ margin-bottom: 0 !important; }

  .guest-speakers-link{
    display: inline-flex;
    justify-content: center;
    align-items: center;

    margin: .2rem auto 0 !important;
    padding: .65rem .6rem !important;
    font-size: 1rem !important;
    font-weight: 400 !important;             /* still bold on tiny screens */
    border-radius: 8px !important;
    text-align: center;
  }

  .speaker-image,
  .speaker-image img{ margin-top: 0 !important; }
}

