/* Trip pages use the site's olive headings, Jost copy, warm neutral panels, and square edges. */
.obm-trip-shell { display: block; max-width: 1240px; padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(72px, 8vw, 110px); }
.obm-trip-main { width: 100%; }
.obm-trip-header { max-width: 960px; margin: 0 auto clamp(48px, 6vw, 72px); text-align: center; }
.obm-trip-eyebrow { margin: 0 0 14px; font-size: 16px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ast-global-color-0); }
.obm-trip .obm-trip-title { margin: 0 0 22px; font-size: clamp(42px, 5vw, 68px); line-height: 1.1; }
.obm-trip-summary { max-width: 850px; margin: 0 auto; font-size: clamp(21px, 2vw, 24px); line-height: 1.5; }
.obm-trip-summary >:last-child { margin-bottom: 0; }
.obm-trip-gallery { margin-bottom: clamp(64px, 7vw, 88px); }
.obm-trip-gallery.slider.awd-slider-block img { width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 3; object-fit: cover; }
.obm-trip-overview { display: grid; margin-bottom: 0; gap: 24px; }
.obm-trip-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.obm-trip-fact { display: flex; min-height: 142px; padding: 24px; border-top: 4px solid var(--ast-global-color-0); background: #ebe3d5; text-align: center; flex-direction: column; align-items: center; justify-content: center; }
.obm-trip-fact__label { display: block; margin-bottom: 10px; font-size: 16px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ast-global-color-0); }
.obm-trip-fact__value { font-size: 22px; font-weight: 500; line-height: 1.35; }
.obm-trip-button { display: inline-block; padding: 13px 24px; color: #fff; background: #869e77; font-size: 19px; font-weight: 500; line-height: 1.2; text-align: center; text-decoration: none; }
.obm-trip-button:hover, .obm-trip-button:focus { color: #fff; background: #6f8961; }
.obm-trip-button:focus-visible { outline: 3px solid #4c3b40; outline-offset: 3px; }
.obm-trip-investment { padding: clamp(28px, 4vw, 44px); background: #ebe3d5; }
.obm-trip-investment h2, .obm-trip-investment h3 { margin: 0 0 24px; }
.obm-trip-investment dl { display: grid; margin: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 36px; }
.obm-trip-investment dl > div { display: grid; padding: 14px 0; border-bottom: 1px solid rgba(76, 59, 64, .22); grid-template-columns: minmax(140px, .8fr) 1fr; gap: 18px; }
.obm-trip-investment dt { font-weight: 700; }
.obm-trip-investment dd { margin: 0; }
.obm-trip-section { margin: 0; padding: clamp(42px, 5vw, 64px) 0; border-top: 1px solid #d9d2c5; background: transparent; }
.obm-trip-section > h2 { margin: 0 0 28px; }
.obm-trip-section > h3 { margin: 36px 0 16px; }
.obm-trip-section >:last-child, .obm-trip-card >:last-child, .obm-trip-card >:last-child >:last-child { margin-bottom: 0; }
.obm-trip-introduction { margin: clamp(48px, 6vw, 72px) 0 0; padding: 32px clamp(28px, 4vw, 48px); border: 0; background: #ebe3d5; font-size: 22px; line-height: 1.5; }
.obm-trip-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.obm-trip-card { padding: 25px 28px; border-left: 4px solid var(--ast-global-color-0); background: #f4efe7; }
.obm-trip-card h3 { margin: 0 0 12px; font-size: 28px; }
.obm-trip-faq__topic.has-heading { margin-top: 36px; }
.obm-trip-faq__topic:first-child { margin-top: 0; }
.obm-trip-faq__topic h3 { margin: 0 0 16px; font-size: 30px; }
.obm-trip-faq details { margin-bottom: 10px; border: 1px solid #d9d2c5; background: #fff; }
.obm-trip-faq summary { display: flex; padding: 18px 22px; cursor: pointer; font-size: 21px; font-weight: 600; list-style: none; align-items: center; justify-content: space-between; gap: 20px; }
.obm-trip-faq summary::-webkit-details-marker { display: none; }
.obm-trip-faq summary::after { content: '+'; font-size: 28px; font-weight: 400; line-height: 1; color: var(--ast-global-color-0); }
.obm-trip-faq details[open] summary::after { content: '−'; }
.obm-trip-faq summary:focus-visible { outline: 3px solid var(--ast-global-color-0); outline-offset: -3px; }
.obm-trip-faq__answer, .obm-trip-faq details > div { padding: 0 22px 20px; }
.obm-trip-faq__answer >:last-child, .obm-trip-faq details > div >:last-child { margin-bottom: 0; }
.obm-trip-schedule__row { display: grid; padding: 20px 0; border-bottom: 1px solid #d9d2c5; grid-template-columns: minmax(150px, .3fr) 1fr; gap: 28px; }
.obm-trip-schedule__row:first-child { border-top: 1px solid #d9d2c5; }
.obm-trip-schedule__row h3 { margin: 0; font-size: 28px; }
.obm-trip-schedule__row > div >:last-child { margin-bottom: 0; }
.obm-trip-side-trip { margin-top: 0; padding: clamp(30px, 5vw, 56px); border: 0; border-top: 5px solid var(--ast-global-color-0); background: #ebe3d5; }
.obm-trip-side-trip > .obm-trip-eyebrow { margin-bottom: 14px; }
.obm-trip-side-trip > h2 { margin: 0 0 28px; }
.obm-trip-side-trip > .obm-trip-facts { margin: 0 0 24px; }
.obm-trip-side-trip .obm-trip-fact, .obm-trip-side-trip .obm-trip-investment { background: #fff; }
.obm-trip-side-trip .obm-trip-fact { border-top-color: #869e77; }
.obm-trip-side-trip > .obm-trip-investment { margin-bottom: 40px; }
.obm-trip-side-trip > h3 { margin: 36px 0 16px; }
.obm-trip-form { max-width: 1200px; margin: clamp(48px, 6vw, 72px) auto 0; padding: clamp(30px, 5vw, 64px); border: 0; border-top: 5px solid var(--ast-global-color-0); background: #ebe3d5; }
.obm-trip-form > h2 { margin: 0 0 16px; text-align: center; }
.obm-trip-form__intro { max-width: 760px; margin: 0 auto 32px; font-size: 20px; line-height: 1.5; text-align: center; }
.obm-trip-form__intro >:last-child { margin-bottom: 0; }
.obm-trip-form .gform_wrapper { max-width: 850px; margin: 0 auto; padding: clamp(24px, 4vw, 44px); background: #fff; }
.obm-trip-form .gform_footer { display: flex; justify-content: center; }
.obm-trip-form .gform_footer .gform_button { min-width: min(100%, 240px); padding: 15px 28px; border: 0; border-radius: 0; background: #869e77; color: #fff; font-size: 20px; font-weight: 600; text-align: center; }
.obm-trip-form .gform_footer .gform_button:hover, .obm-trip-form .gform_footer .gform_button:focus { background: #6f8961; color: #fff; }
.obm-trip-form .gform_footer .gform_button:focus-visible { outline: 3px solid #4c3b40; outline-offset: 3px; }

/* Shortcode cards work on any page, not only the single-trip template. */
.obm-trip-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.obm-trip-list__card { min-width: 0; background: #ebe3d5; border-top: 4px solid var(--ast-global-color-0); }
.obm-trip-list__image-link { display: block; }
.obm-trip-list__image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.obm-trip-list__content { padding: clamp(24px, 3vw, 36px); }
.obm-trip-list__status { margin: 0 0 10px; color: var(--ast-global-color-0); font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.obm-trip-list__content h3 { margin: 0 0 14px; font-size: clamp(27px, 3vw, 36px); line-height: 1.2; }
.obm-trip-list__content h3 a { color: inherit; text-decoration: none; }
.obm-trip-list__content h3 a:hover, .obm-trip-list__content h3 a:focus { text-decoration: underline; }
.obm-trip-list__meta { margin: 0 0 16px; font-weight: 600; }
.obm-trip-list__summary { margin: 0 0 22px; }
.obm-trip-list__link { display: inline-block; padding: 11px 19px; color: #fff; background: #869e77; text-decoration: none; }
.obm-trip-list__link:hover, .obm-trip-list__link:focus { color: #fff; background: #6f8961; }
.obm-trip-list__link:focus-visible { outline: 3px solid #4c3b40; outline-offset: 3px; }
.obm-trip-section.obm-trip-form .gform_confirmation_wrapper .gform_confirmation_message { background: #fff; }
@media (max-width:767px) {
    .obm-trip-shell { padding-right: 20px; padding-left: 20px; }
    .obm-trip-header { margin-bottom: 48px; }
    .obm-trip .obm-trip-title { font-size: clamp(38px, 8vw, 48px); }
    .obm-trip-facts, .obm-trip-card-grid, .obm-trip-investment dl { grid-template-columns: 1fr; }
    .obm-trip-investment dl > div, .obm-trip-schedule__row { grid-template-columns: 1fr; gap: 6px; }
    .obm-trip-fact { min-height: 116px; }
    .obm-trip-section > h2 { margin-bottom: 22px; }
    .obm-trip-side-trip { padding-right: 24px; padding-left: 24px; }
    .obm-trip-form { padding: 30px 18px; }
    .obm-trip-form__intro { margin-bottom: 24px; font-size: 18px; }
    .obm-trip-form .gform_wrapper { padding: 24px 18px; }
    .obm-trip-list { grid-template-columns: 1fr; }
}
