/*

Theme Name: Astra Child

Template: astra

*/



body {

    background-color: #f5f5f5;

}



:root {

      --gold: #F0CF8B;

      --gold-light: #e0c170;

      --bg-footer: #2a2520;

      --bg-bottom: #221e1a;

      --text-muted-footer: #a89880;

    }



    body {

      background: #1e1a16;

    }



    #page { overflow: hidden;}



    ul, li, a { margin: 0; padding: 0;  font-family: 'Merriweather', serif!important; }

    ul.list li { font-size: 20px; margin-bottom: 0.9em!important;}

    ul li::marker { color: #F0CF8B; }

    p { font-family: 'Merriweather', serif; font-size: 20px;}

    h2, h3, h4, h5, h6 { font-family: 'Merriweather', serif!important; }



header .custom-logo-link img { max-width: 500px; width: 500px; margin: 3em 0 0 10em; }



    .site-header { position: absolute; width: 100%; }

    .ast-primary-header-bar { background: transparent!important; border: 0;}

    .custom-logo-link { margin: 0 0 0 -6em; }

    header .ast-container { max-width: 100%; }





    .ast-builder-menu .main-navigation>ul { padding-right: 5em;}

    .main-header-menu > .menu-item > .menu-link { font-size: 18px; }

    .main-header-menu > .menu-item > .menu-link, #astra-footer-menu > .menu-item > .menu-link { color: #fff;}

    .main-header-menu > .menu-item > .menu-link:focus, 

#astra-footer-menu > .menu-item > .menu-link:focus { 

  outline: none; 

  border: none; 

}



    .ast-builder-menu-1 .menu-item.current-menu-item > .menu-link, .ast-builder-menu-1 .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, .ast-builder-menu-1 .current-menu-ancestor > .menu-link { color: var(--gold);}

    .ast-builder-menu-1 .menu-item:hover > .menu-link { color: var(--gold);}





.customHeading { font-family: "Playfair Display", serif!important; font-size: 28px; font-weight: 500; color: #F0CF8B; }

.customHeadingH3 { color: #fff; font-size: 24px; font-family: 'Merriweather', serif; }

.titleMoment { color: #fff; font-size: 24px; }



.home-banner { padding: 6.5em 0 4em 0; background: url(./images/home-banner-bg.jpg) 60% top no-repeat; background-size: cover; }

.home-banner .customHeading { font-size: 36px;}

.banner-inner { padding: 15em 1em 3em 0; color: #fff; }

.banner-inner:before {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    background: #000;

background: linear-gradient(180deg, rgba(0, 0, 0, 0.86) 0%, rgba(0, 0, 0, 0) 100%);

    height: 23em;

}

.banner-inner ul li { font-size: 18px;}

.banner-inner p { font-size: 20px;}

.banner-text { max-width: 38%; color: #fff; }





.section-main { padding: 3em 0%; position: relative;}

.bg-one .bg-prism { position: absolute; right: 0; bottom: 0; }

.bg-two .bg-prism { position: absolute; left: 0; bottom: 0; }

.section-main ul { margin: 1.5em 0 1.5em 1.5em!important; padding: 0!important;}

.section-main p, .section-main ul li { color: #fff; }

.section-main p { font-size: 20px;}

.sectionContainer { margin: 0 auto; margin: 0 auto; max-width: 94%; }

.sectionInner { align-items: center; }

.rounded-img { max-width: 85%;}

.bg-one { background: url(./images/bg1.jpg) right top no-repeat; background-size: cover; }

.section-content-right { padding: 0 5% 0 0;}



.bg-two { background: url(./images/bg2.jpg) left top no-repeat; background-size: cover; }

.bg-two .sectionInner { flex-direction: row-reverse; }





    /* ── Main footer ── */

    .custom-site-footer {

      background-color: var(--bg-footer);

      padding: 60px 0 0;

      border-top: 1px solid rgba(201,168,76,.25);      

    }



    /* Logo area */

    .footer-logo-tagline {

      font-family: Georgia, 'Times New Roman', serif;

      font-size: .72rem;

      letter-spacing: .28em;

      text-transform: uppercase;

      color: var(--text-muted-footer);

      margin-top: 10px;

    }



    /* SVG pyramid logo placeholder – matches the original gold prism mark */

    .footer-logo-img {

      width: 140px;

      height: auto;

      display: block;

      margin-bottom: 14px;

    }



    .footer-brand-name {

      font-family: Georgia, serif;

      font-size: 1.45rem;

      color: var(--gold);

      letter-spacing: .04em;

    }

    .footer-brand-name span {

      font-weight: 700;

    }



    .ast-footer-copyright p { font-size: 16px!important;}



    /* Section headings */

    .footer-heading {

      color: var(--gold);

      font-family: Georgia, serif;

      font-size: 1rem;

      font-weight: 700;

      letter-spacing: .06em;

      margin-bottom: 22px;

    }



    /* Contact items */

    .footer-contact-item {

      font-family: Merriweather, serif;

      display: flex;

      align-items: flex-start;

      gap: 14px;

      margin-bottom: 20px;

      color: #fff;

      font-size: 1rem;

      line-height: 1.6;

    }

    /* .footer-contact-item .icon-wrap {

      display: flex;

      align-items: center;

      justify-content: center;

      width: 36px;

      height: 36px;

      min-width: 36px;

      border: 1.5px solid var(--gold);

      border-radius: 4px;

      color: var(--gold);

      font-size: .95rem;

      margin-top: 1px;

      background: rgba(201,168,76,.07);

      transition: background .2s, color .2s;

    } */

    /* .footer-contact-item:hover .icon-wrap {

      background: var(--gold);

      color: var(--bg-footer);

    } */



    /* Quick links */

    .footer-links {

      list-style: none;

      padding: 0;

      margin: 0;

    }

    .footer-links li {

      margin-bottom: 12px;

    }

    .footer-links a {

      color: #fff;

      text-decoration: none;

      font-size: .9rem;

      transition: color .2s;

      letter-spacing: .02em;

    }

    .footer-links a:hover {

      color: var(--gold-light);

    }



    /* Divider */

    .footer-divider {

      border-color: rgba(201,168,76,.2);

      margin: 36px 0 0;

    }



    /* Bottom bar */

    .footer-bottom {

      background-color: var(--bg-bottom);

      padding: 18px 0;

      text-align: center;

      color: var(--text-muted-footer);

      font-size: .8rem;

      letter-spacing: .04em;

      border-top: 1px solid rgba(201,168,76,.12);

    }





    .journalSection h2 { font-size: 30px!important; text-shadow:

        0px 2px 3px rgba(0, 0, 0, 0.8),   /* main shadow */

        0px 4px 8px rgba(0, 0, 0, 0.8),   /* depth shadow */

        0px 0px 6px rgba(230, 194, 122, 0.4); /* soft gold glow */ }







.ahfb-svg-iconset svg { fill: #fff!important; width: 30px!important; height: 30px!important; }

.ast-header-break-point .ast-primary-header-bar { border: 0;}



.bookingSection { background: url(./images/before-footer-bg.webp) 76% top no-repeat; background-size: cover; position: relative;}

.blackOverlay { opacity: 0.4; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.50);

background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0) 100%);}

.sectionInner .btn-primary, form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style) { background: var(--gold)!important; color: #000!important; border: 1px solid transparent!important; font-size: 18px!important; }

.sectionInner .btn-primary:hover, .ff-btn-submit:hover, .btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active { background: none!important; border: 1px solid var(--gold)!important; color: var(--gold)!important;}



/* form page */

.formPageMain, .ff-default .ff-el-form-control, select.ff-el-form-control:not([size]):not([multiple]){ background: #0C0C0E;}

.fluentform * { color: #fff; font-family: 'Merriweather', serif; font-size: 13px; }

.fluentform a { color: #F0CF8B!important; }

.formTextOne { text-align: center;

    padding: 1em 14em;

    color: #fff;    

    background: linear-gradient(90deg, rgba(0, 0, 0, 1) 0%, rgba(240, 207, 139, 1) 100%);

    margin: -1.5em -3.5em 2em;

    border-radius: 5px; }



  .formTextOne p { font-size: 20px!important;}

  .preferTravel {margin-bottom: 0!important;}

  .preferTravel.second { margin-bottom: 1em!important;}

  .preferTravel .ff-el-input--label { margin-bottom: 2em;}

  .ff-el-group h3, .preferTravel .ff-el-input--label label { font-size: 20px; margin: 1em 0 0 0!important; color: #F0CF8B; position: relative; padding: 0 0 0 10px; text-transform: capitalize; }

  .ff-el-group h3:before, .preferTravel .ff-el-input--label label:before { content: ''; position: absolute; left: 0; top: 0; width: 3px; height: 100%; background-color: #F0CF8B;}

  .preferTravel label:after { font-size: 13px!important;}



.formContainer {

    padding: 2em 4em 4em!important;

    border-radius: 10px;

    box-shadow: 0 0 11px 2px rgba(0, 0, 0, 0.1);

    margin: -5em auto 0;

    z-index: 99999;

    position: relative;    

    box-shadow: 0 0 20px rgba(240, 207, 139, 0.8);

    background: #0C0C0E;

  }

.fluentform .ff-el-form-check-label .ff-el-form-check-input { transform: scale(1.5);  margin-right: 8px; }



  .noMargin { margin: 0!important;}  





.typeofbooking .ff-el-input--label { margin-bottom: 1.2em;}



  /* ── Your existing CSS (preserved) ── */

.terms-popup {

  position: fixed;

  top: 0; left: 0;

  width: 100%; height: 100%;

  background: rgba(0,0,0,0.85);

  display: none;

  justify-content: center;

  align-items: center;

  z-index: 9999999999999;

}



.terms-content {

  background: #111217;

  color: #e8e4dc;

  width: 540px;

  max-width: calc(100vw - 32px);

  max-height: 88vh;

  border-radius: 10px;

  border: 1px solid rgba(201,168,76,0.25);

  display: flex;

  flex-direction: column;

  overflow: hidden;

  position: relative;

}



#confirmTerms {

  width: 100%;

  padding: 13px 20px;

  background: linear-gradient(135deg, #c9a84c 0%, #e8c97a 100%);

  border: none;

  cursor: pointer;

  border-radius: 2px;

  font-size: 11px;

  font-weight: 500;

  letter-spacing: 0.38em;

  text-transform: uppercase;

  color: #0c0c0e;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  transition: opacity 0.2s, transform 0.15s;

}



#confirmTerms:hover { opacity: 0.88; }

#confirmTerms:active { transform: scale(0.99); }



/* ── Extensions ── */

.terms-header {

  padding: 22px 28px 18px;

  border-bottom: 1px solid rgba(201,168,76,0.15);

  flex-shrink: 0;

  display: flex;

  align-items: flex-start;

  justify-content: space-between;

  gap: 16px;

}



.terms-eyebrow {

  display: block;

  font-size: 10px;

  letter-spacing: 0.38em;

  text-transform: uppercase;

  color: #c9a84c;

  margin-bottom: 5px;

}



.terms-header h3 {

  font-size: 16px;

  font-weight: 500;

  color: #fdfaf4;

  margin: 0;

}



.terms-close {

  width: 28px; 

  border-radius: 50%;

  border: 1px solid rgba(201,168,76,0.3);

  background: none;

  color: #8a857a;

  cursor: pointer;

  font-size: 13px;

  flex-shrink: 0;

  display: flex;

  align-items: center;

  justify-content: center;

  transition: border-color 0.2s, color 0.2s;

}



.terms-close:hover {

  border-color: rgba(201,168,76,0.7)!important;

  background-color: rgba(201,168,76,0.7)!important;

  color: #000;

}



.terms-intro {

  background: rgba(201,168,76,0.06);

  border-bottom: 1px solid rgba(201,168,76,0.12);

  padding: 11px 28px;

  font-size: 12px;

  color: #a09880;

  line-height: 1.65;

  flex-shrink: 0;

}



/* Scrollable body */

.terms-body {

  flex: 1;

  overflow-y: auto;

  padding: 22px 28px;

  scrollbar-width: thin;

  scrollbar-color: rgba(201,168,76,0.3) transparent;

}



.terms-body::-webkit-scrollbar { width: 4px; }

.terms-body::-webkit-scrollbar-thumb {

  background: rgba(201,168,76,0.3);

  border-radius: 4px;

}



.tc-section { margin-bottom: 20px; }



.tc-section h4 {

  font-size: 10px;

  letter-spacing: 0.35em;

  text-transform: uppercase;

  color: #c9a84c;

  font-weight: 500;

  margin: 0 0 8px;

}



.tc-section p,

.tc-section li {

  font-size: 13px;

  color: #a09880;

  line-height: 1.75;

  margin: 0 0 5px;

}



.tc-section ol {

  padding-left: 18px;

  margin: 8px 0 0;

}



.tc-divider {

  height: 1px;

  background: rgba(201,168,76,0.1);

  margin-bottom: 20px;

}



/* Scroll fade */

.terms-fade {

  position: absolute;

  bottom: 64px; left: 0; right: 0;

  height: 48px;

  background: linear-gradient(to top, #111217 0%, transparent 100%);

  pointer-events: none;

  transition: opacity 0.3s;

}



/* Fixed footer */

.terms-footer {

  padding: 12px 28px;

  border-top: 1px solid rgba(201,168,76,0.18);

  flex-shrink: 0;

  background: #111217;

}



.btn-arrow {

  width: 18px; height: 18px;

  border-radius: 50%;

  border: 1.5px solid #0c0c0e;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  font-size: 10px;

}

.confirmation  { margin-bottom: 0!important; }
  /* form css */

  

@media (max-width: 1550px) {

  .banner-inner { padding: 10em 1em 0em 0; }

  .site-header-primary-section-left { width: 1em;}

  header .custom-logo-link img { width: 400px; max-width: 400px; margin-top: 1em;}

  .customHeading { font-size: 24px;}

  .banner-text { max-width: 45%;}

  .customHeadingH3 { font-size: 20px;}

  ul.list li { font-size: 16px;}

  .section-main p { font-size: 16px; }

}



@media (max-width: 1400px) {

    header .custom-logo-link img {

        width: 350px;

    }

    .ast-builder-menu .main-navigation>ul { padding-right: 2em;}

    .main-header-menu > .menu-item > .menu-link { font-size: 16px;}

}



@media (max-width: 1350px) {



  .banner-text { max-width: 50%;}







@media (max-width: 1250px) {

    header .custom-logo-link img {

        width: 265px;

        max-width: 265px;

    }

    .home-banner { padding: 0;}

}



@media (max-width: 1150px) {

    .main-header-menu .menu-link { padding: 0 0.5em;}

}







@media (max-width: 772px) {

       .banner-text {

        max-width: 100%;

        background: rgba(0, 0, 0, 0.5);

        border-radius: 10px;

        padding: 2em;

    }



    .paulaPic { width: 45%;}



}



@media (max-width: 550px) {

  .sectionContainer { padding: 0 6%;}

       header .custom-logo-link img {

            width: 220px;

            max-width: 220px;

        }



        .banner-inner { padding: 12em 0 3em 0;}

        .home-banner .customHeading { font-size: 26px;}

        .banner-inner p { font-size: 18px;}

    

}





@media (max-width: 350px) {

       header .custom-logo-link img {

            width: 2000px;

            max-width: 200px;

        }

    

}



        