/* Day Trip page styles — extracted verbatim from tpl-day-trip.php 2026-08-07.
   Enqueued by inc/enqueue-daytrip.php. */
/* Inline form error — shown when Check Availability is clicked
   without a visit date. */
.mfaf-dt-form-error{
  background:#fff4e5;color:#8a3d00;
  border:1px solid #f0a878;border-left:4px solid #d35400;
  border-radius:8px;padding:14px 18px;margin:0 0 18px;
  font-family:"Source Sans 3",system-ui,sans-serif;
  font-size:16px;font-weight:600;line-height:1.45;
  box-shadow:0 4px 14px rgba(211,84,0,0.18);
  animation:mfafDtErrFlash .35s ease-out;
}
@keyframes mfafDtErrFlash{
  from{transform:translateY(-6px);opacity:0}
  to{transform:translateY(0);opacity:1}
}
.mfaf-dt-block-error input[name="checkindate"],
.mfaf-dt-block-error .vbo-checkindate-input{
  border-color:#e58e1c!important;
  box-shadow:0 0 0 3px rgba(229,142,28,0.15)!important;
}

/* ═══════════════════════════════════════════════════════════════════
   Day Trip Datepicker — forest farmstay aesthetic.
   Scoped tightly to .ui-datepicker + scoped wrapper so we override
   both VB's site CSS and the theme's base style.css rules. All the
   functional bits (jQuery UI's .hasDatepicker, .ui-state-default,
   .ui-state-active, .ui-state-disabled, beforeShowDay class
   .dt-unselectable) are preserved — only visual styling is changed.
   ═══════════════════════════════════════════════════════════════════ */

/* Container */
.ui-datepicker{
  width:320px!important;max-width:92vw!important;
  padding:0!important;margin-top:10px!important;
  background:#FFFFFF!important;
  border:1px solid #d8e3b5!important;
  border-radius:16px!important;
  box-shadow:0 24px 48px -20px rgba(46,74,30,.35), 0 2px 4px rgba(0,0,0,.04)!important;
  overflow:hidden!important;
  font-family:'Source Sans 3',sans-serif!important;
}

/* Header bar */
.ui-datepicker .ui-datepicker-header{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:8px!important;
  background:linear-gradient(135deg,#2E4A1E 0%,#3c540b 60%,#4A7A2B 100%)!important;
  color:#F5F2EB!important;
  padding:14px 12px!important;
  border:none!important;
  border-radius:0!important;
  position:relative!important;
  min-height:58px!important;
}

/* Month + Year title */
.ui-datepicker .ui-datepicker-title{
  flex:1 1 auto!important;
  display:flex!important;align-items:baseline!important;justify-content:center!important;
  gap:8px!important;
  margin:0!important;
  color:#F5F2EB!important;background:transparent!important;
  font-family:'Fraunces',Georgia,serif!important;
  font-style:italic!important;font-weight:500!important;
  font-size:18px!important;line-height:1.2!important;
  letter-spacing:.2px!important;
  text-align:center!important;
}
.ui-datepicker .ui-datepicker-title .ui-datepicker-month{
  color:#FFFFFF!important;background:transparent!important;
  font-family:'Fraunces',Georgia,serif!important;font-style:italic!important;
  font-size:18px!important;font-weight:600!important;
  margin-right:4px!important;
}
.ui-datepicker .ui-datepicker-title .ui-datepicker-year{
  color:#ebf67d!important;background:transparent!important;
  font-family:'Space Grotesk',sans-serif!important;font-style:normal!important;
  font-size:14px!important;font-weight:600!important;letter-spacing:1px!important;
}

/* Prev / Next chevron buttons */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next{
  position:relative!important;top:auto!important;left:auto!important;right:auto!important;
  flex:0 0 auto!important;
  width:36px!important;height:36px!important;
  background:rgba(235,246,125,.12)!important;
  border:1px solid rgba(235,246,125,.35)!important;
  border-radius:50%!important;
  cursor:pointer!important;
  transition:background .15s,border-color .15s,transform .15s!important;
  overflow:hidden!important;
}
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover{
  background:#80b421!important;border-color:#80b421!important;
  transform:scale(1.06)!important;
}
.ui-datepicker .ui-datepicker-prev.ui-state-disabled,
.ui-datepicker .ui-datepicker-next.ui-state-disabled{
  opacity:.3!important;cursor:not-allowed!important;
  background:transparent!important;border-color:rgba(235,246,125,.2)!important;
}
.ui-datepicker .ui-datepicker-prev.ui-state-disabled:hover,
.ui-datepicker .ui-datepicker-next.ui-state-disabled:hover{
  transform:none!important;background:transparent!important;
}
/* Hide jQuery UI's sprite-based icon entirely, paint chevrons via ::before */
.ui-datepicker .ui-datepicker-prev .ui-icon,
.ui-datepicker .ui-datepicker-next .ui-icon{
  display:none!important;
}
.ui-datepicker .ui-datepicker-prev::before,
.ui-datepicker .ui-datepicker-next::before{
  content:""!important;
  position:absolute!important;top:50%!important;left:50%!important;
  transform:translate(-50%,-50%)!important;
  width:14px!important;height:14px!important;
  background-repeat:no-repeat!important;background-position:center!important;
  background-size:contain!important;
  pointer-events:none!important;
}
.ui-datepicker .ui-datepicker-prev::before{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5F2EB' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>")!important;
}
.ui-datepicker .ui-datepicker-next::before{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5F2EB' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>")!important;
}
.ui-datepicker .ui-datepicker-prev:hover::before,
.ui-datepicker .ui-datepicker-next:hover::before{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E4A1E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>")!important;
}
.ui-datepicker .ui-datepicker-next:hover::before{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E4A1E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>")!important;
}

/* Calendar grid */
.ui-datepicker table.ui-datepicker-calendar{
  width:100%!important;margin:0!important;padding:10px 12px 12px!important;
  border-collapse:separate!important;border-spacing:2px!important;
  background:#FFFFFF!important;
  box-sizing:border-box!important;
}
.ui-datepicker .ui-datepicker-calendar thead tr{background:transparent!important}
.ui-datepicker .ui-datepicker-calendar th{
  font-family:'Space Grotesk',sans-serif!important;
  font-size:10.5px!important;font-weight:700!important;letter-spacing:1.4px!important;
  color:#6B7A4E!important;
  text-transform:uppercase!important;
  padding:10px 0 8px!important;border:none!important;background:transparent!important;
}
.ui-datepicker .ui-datepicker-calendar td{
  padding:2px!important;border:none!important;background:transparent!important;
  text-align:center!important;
}
.ui-datepicker .ui-datepicker-calendar td a,
.ui-datepicker .ui-datepicker-calendar td span.ui-state-default{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:36px!important;height:36px!important;margin:0 auto!important;
  font-family:'Source Sans 3',sans-serif!important;
  font-size:14px!important;font-weight:500!important;
  color:#2D2D2D!important;background:#ffffff!important;
  border:1px solid transparent!important;border-radius:10px!important;
  text-decoration:none!important;
  transition:background .12s,color .12s,border-color .12s!important;
}
.ui-datepicker .ui-datepicker-calendar td a:hover{
  background:#f5faea!important;color:#3c540b!important;
  border-color:#c8d7a0!important;
}

/* Today ring */
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a,
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today span.ui-state-default{
  border:1.5px dashed #589719!important;color:#3c540b!important;font-weight:700!important;
}

/* Selected day */
.ui-datepicker .ui-datepicker-calendar td a.ui-state-active,
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day a{
  background:#3c540b!important;color:#ffffff!important;
  border-color:#3c540b!important;font-weight:700!important;
  box-shadow:0 4px 10px -4px rgba(60,84,11,.55)!important;
}

/* Other month / past (disabled) */
.ui-datepicker .ui-datepicker-calendar td.ui-state-disabled span.ui-state-default,
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month span.ui-state-default{
  color:#c7c4bb!important;background:transparent!important;
  border-color:transparent!important;
  opacity:1!important;
}

/* Blocked by beforeShowDay (sold-out / private-event days only) */
.ui-datepicker .ui-datepicker-calendar td.dt-unselectable span.ui-state-default{
  color:#b5c49a!important;background:#f5f2eb!important;
  border:1px solid #e8e1cf!important;
  cursor:not-allowed!important;
  text-decoration:line-through!important;
  text-decoration-color:rgba(181,196,154,.6)!important;
  text-decoration-thickness:1.5px!important;
  opacity:.7!important;
}

/* jQuery UI's native button pane (showButtonPanel:true) — full-width Done
   button inside the picker frame, matches MFAF forest-green CTA aesthetic.
   Hide the "Today" button — Day Trip flow only needs Done.
   Use #ui-datepicker-div ID prefix so we beat any later VB CSS. */
#ui-datepicker-div .ui-datepicker-buttonpane{
  display:flex!important;
  flex-direction:row!important;
  justify-content:stretch!important;
  align-items:stretch!important;
  gap:0!important;
  margin:8px 12px 12px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
/* Hide "Today" — single-day Day Trip just needs an explicit Done */
#ui-datepicker-div .ui-datepicker-buttonpane .ui-datepicker-current{
  display:none!important;
}
/* Style the native "Done" close button as a full-width forest-green CTA */
#ui-datepicker-div .ui-datepicker-buttonpane .ui-datepicker-close{
  display:block!important;
  flex:1 1 100%!important;
  width:100%!important;
  margin:0!important;
  padding:12px 16px!important;
  background:#3c540b!important;
  color:#ffffff!important;
  border:0!important;
  border-radius:8px!important;
  font-family:'Space Grotesk',sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:1.2px!important;
  cursor:pointer!important;
  transition:background .15s ease!important;
  box-shadow:0 1px 0 rgba(0,0,0,.04)!important;
  float:none!important;
  text-align:center!important;
}
#ui-datepicker-div .ui-datepicker-buttonpane .ui-datepicker-close:hover,
#ui-datepicker-div .ui-datepicker-buttonpane .ui-datepicker-close:focus{
  background:#2c3f08!important;
  outline:none!important;
}
#ui-datepicker-div .ui-datepicker-buttonpane .ui-datepicker-close:active{
  background:#243405!important;
}

/* Button pane (Clear dates / Close) */
.ui-datepicker .ui-datepicker-buttonpane{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:8px!important;margin:0!important;
  padding:12px 14px!important;
  background:#f5f2eb!important;
  border-top:1px solid #e8e1cf!important;
}
.ui-datepicker .ui-datepicker-buttonpane button{
  font-family:'Space Grotesk',sans-serif!important;
  font-size:12px!important;font-weight:600!important;
  letter-spacing:.4px!important;text-transform:uppercase!important;
  padding:8px 14px!important;border-radius:100px!important;
  cursor:pointer!important;
  transition:background .15s,color .15s,border-color .15s!important;
  float:none!important;margin:0!important;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{
  background:transparent!important;color:#6B7A4E!important;
  border:none!important;
  text-decoration:underline!important;text-underline-offset:3px!important;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current:hover{
  color:#3c540b!important;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-close{
  background:#3c540b!important;color:#ffffff!important;border:1px solid #3c540b!important;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-close:hover{
  background:#589719!important;border-color:#589719!important;
}

/* Multi-month safety (in case VB re-enables multi view) */
.ui-datepicker.ui-datepicker-multi{width:auto!important}
.ui-datepicker-multi .ui-datepicker-group{float:left!important;padding:0 4px!important}

/* Small screens */
@media(max-width:420px){
  .ui-datepicker{width:290px!important}
  .ui-datepicker .ui-datepicker-calendar td a,
  .ui-datepicker .ui-datepicker-calendar td span.ui-state-default{width:32px!important;height:32px!important;font-size:13px!important}
}
/* Phase 5 booking-UX (2026-07-12): tried gating a 44px-cell bump to
   min-width:385px (math: 7 cols x 44px + per-cell 2px+2px td padding x7 +
   8 border-spacing gaps x2px + 24px table L/R padding = 376px needed).
   That 376px doesn't clear the popup's max-width:92vw cap at any real phone
   width up to ~430px (92vw only reaches 376px at a 409px+ viewport) — LIVE
   screenshot at 390px showed the Saturday column clipped off the right edge
   of the popup. Reverted before deploy. Confirms Phase 2's original call:
   32px stays here; getting to 44px would need shrinking the td/table
   padding and border-spacing too (a bigger change than this pass's scope,
   and one that would touch the picker's whole visual rhythm, not just this
   rule) — left for a dedicated redesign, not bundled into a polish pass. */

/* ─── Day Trip Hero ─── */
.dt-hero{position:relative;height:520px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.dt-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.dt-hero picture{position:absolute;inset:0;width:100%;height:100%}
.dt-hero picture img{width:100%;height:100%;object-fit:cover}
.dt-hero__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,35,10,.55) 0%,rgba(20,35,10,.75) 100%);z-index:1}
.dt-hero__content{position:relative;z-index:2;text-align:center;padding:0 24px;max-width:720px}
.dt-hero__label{font-family:'Space Grotesk',sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--bright-lime);margin-bottom:12px}
.dt-hero__title{font-family:'Yellowtail',cursive;font-size:clamp(52px,8vw,80px);color:#fff;margin:0 0 16px;line-height:1.1}
.dt-hero__subtitle{font-size:clamp(16px,2vw,20px);color:rgba(255,255,255,.88);margin-bottom:32px;line-height:1.6}
.dt-hero__subtitle strong{color:var(--bright-lime)}
.dt-hero__btn{display:inline-block;background:var(--lime-zest);color:var(--deep-canopy);font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:14px 32px;border-radius:100px;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:background .2s,color .2s,transform .2s,box-shadow .2s}
.dt-hero__btn:hover{background:var(--deep-canopy);color:var(--lime-zest);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.25)}

/* ─── Includes Grid ─── */
.dt-includes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.dt-include-card{background:#fff;border:1px solid rgba(60,84,11,.08);border-radius:12px;padding:28px 24px;text-align:center}
.dt-include-card--link{display:block;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.dt-include-card--link:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(60,84,11,.12);border-color:rgba(88,151,25,.35)}
.dt-include-card--link:focus-visible{outline:2px solid var(--lime-zest,#80b421);outline-offset:3px}
.dt-include-card__icon{width:64px;height:64px;background:rgba(88,151,25,.08);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.dt-include-card__title{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:700;color:var(--deep-canopy);margin:0 0 8px}
.dt-include-card__text{font-size:14px;color:var(--muted-stone);line-height:1.6;margin:0}


/* ─── Pricing ─── (SR-008: every price label / qualifier >= 14px at every breakpoint; audited by mfaf-theme/_tests/contrast-audit.js) */
.dt-pricing-tiers{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}
.dt-pricing-tier{display:flex;flex-direction:column;gap:12px}
.dt-pricing-tier__heading{font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--deep-canopy)}
.dt-pricing-tier__heading span{color:var(--text-muted);font-weight:500}
.dt-pricing-tier__minpax{font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:600;letter-spacing:.4px;color:var(--medium-green);margin-top:-6px}
.dt-pricing-tier__cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dt-pricing-tier--free .dt-price-card{max-width:200px}
.dt-price-card{background:#fff;border:2px solid rgba(60,84,11,.1);border-radius:12px;padding:24px 20px;text-align:center}
.dt-price-card--featured{border-color:var(--medium-green);background:rgba(88,151,25,.04)}
.dt-price-card--weekend{border-color:var(--bright-lime);background:rgba(128,180,33,.05)}
.dt-price-card__label{font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted-stone);margin-bottom:12px}
.dt-price-card__amount{font-family:'Space Grotesk',sans-serif;font-size:clamp(26px,3.5vw,36px);font-weight:800;color:var(--deep-canopy);line-height:1}
.dt-price-card--featured .dt-price-card__amount{color:var(--medium-green)}
.dt-price-card--weekend .dt-price-card__amount{color:var(--forest-fern)}
.dt-price-card__note{font-size:14px;color:var(--muted-stone);margin-top:6px}
.dt-pricing-notes{background:rgba(60,84,11,.04);border-left:3px solid var(--medium-green);border-radius:0 8px 8px 0;padding:20px 24px;max-width:640px;margin:0 auto}
.dt-pricing-notes ul{margin:0;padding-left:20px}
.dt-pricing-notes li{font-size:14px;color:var(--charcoal);line-height:1.7;margin-bottom:4px}
.dt-pricing-notes li:last-child{margin-bottom:0}

/* ─── Responsive ─── */
@media(max-width:768px){
  .dt-hero{height:420px}
  .dt-includes-grid{grid-template-columns:1fr 1fr}
  .dt-pricing-tier__cards{grid-template-columns:1fr 1fr}

  /* Schedule timeline — stack into one readable column on mobile. Overrides
     the shared global .section-journey mobile rules (which drop .tl-desc to
     14px and keep a 2-col day-block) so funnel body text stays >=18px and the
     "One Day" label becomes a top strip. Only rendered on /day-trip/, so no
     homepage bleed; !important beats the inline border-radius style attrs. */
  .section-journey{padding:40px 16px}
  .section-journey .journey-header{margin-bottom:32px}
  .section-journey .day-block{grid-template-columns:1fr!important}
  .section-journey .day-label{
    padding:14px 18px!important;border-radius:16px 16px 0 0!important;
  }
  .section-journey .day-rows{border-radius:0 0 16px 16px!important}
  .section-journey .tl-row{
    grid-template-columns:1fr!important;gap:6px!important;padding:18px 20px!important;
  }
  .section-journey .tl-time{font-size:15px!important}
  .section-journey .tl-desc{font-size:18px!important;line-height:1.65!important}
}
@media(max-width:480px){
  .dt-includes-grid{grid-template-columns:1fr}
}

/* "/ group" suffix on the search-results price card — only when the
   weekday floor is in effect (Mon–Fri non-PH). On Sat/Sun/PH the price
   shown is per-adult so the suffix would mislead. Gated by body class
   .dt-floor-active (set via JS when MFAF_DT_FLOOR_ACTIVE === true). */
body.page-template-tpl-day-trip.dt-floor-active .room_cost::after{
  content:" / group";
  font-size:0.55em;
  font-weight:500;
  color:var(--charcoal);
  opacity:0.62;
  margin-left:4px;
  letter-spacing:0.01em;
}

/* ─── Hero subtitle fine print (weekend +10%) ─── */
.dt-hero__sub-fine{display:inline-block;margin-top:6px;font-size:clamp(14px,.78em,16px);letter-spacing:0.04em;text-transform:uppercase;color:var(--bright-lime);opacity:.92}

/* ── Day trip figures from the price-card renderer (mu-plugins/mfaf-price-card.php) ── */
.dt-pricing-engine{max-width:640px;margin:0 auto 32px}
.mfaf-pc--daytrip .mfaf-pc__rows{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:2px solid rgba(60,84,11,.1);border-radius:12px;overflow:hidden}
.mfaf-pc--daytrip .mfaf-pc__rows th,.mfaf-pc--daytrip .mfaf-pc__rows td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(60,84,11,.08)}
.mfaf-pc--daytrip .mfaf-pc__rows thead th{font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--deep-canopy);background:rgba(88,151,25,.06)}
.mfaf-pc--daytrip .mfaf-pc__rows tbody th{font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:600;letter-spacing:.4px;color:var(--muted-stone)}
.mfaf-pc--daytrip .mfaf-pc__rows tbody tr:last-child th,.mfaf-pc--daytrip .mfaf-pc__rows tbody tr:last-child td{border-bottom:0}
.mfaf-pc--daytrip .mfaf-pc__price{font-family:'Space Grotesk',sans-serif;font-size:clamp(18px,2.6vw,26px);font-weight:800;color:var(--deep-canopy);white-space:nowrap}
.mfaf-pc--daytrip .mfaf-pc__row--family4 .mfaf-pc__price{color:var(--medium-green)}
.mfaf-pc--daytrip .mfaf-pc__footnotes{list-style:none;margin:14px 0 0;padding:0;font-size:14px;color:var(--charcoal);line-height:1.7}
.mfaf-pc--daytrip .mfaf-pc__footnotes li{margin:0}
@media (max-width:480px){
  .mfaf-pc--daytrip .mfaf-pc__rows th,.mfaf-pc--daytrip .mfaf-pc__rows td{padding:10px 8px}
  .mfaf-pc--daytrip .mfaf-pc__price{font-size:16px} /* SR-008: 480px floor stays >= 14px */
}
