/* Church Services Near Me — page-specific layer.
   Guided finder: location -> when -> optional preferences. */

/* Finder hierarchy */
.finder-shell{align-items:stretch}
.finder-intro{display:flex;flex-direction:column;justify-content:space-between}
.finder-panel{position:relative}

/* Replace the old four-equal-step treatment with a simpler mental model. */
.filter-progress{display:grid!important;grid-template-columns:1.05fr 1fr 1.25fr!important;gap:8px!important;margin:0 0 22px!important}
.filter-progress span{display:none!important}
.filter-progress:before,.filter-progress:after{display:flex;align-items:center;min-height:42px;padding:0 14px;border:1px solid rgba(23,22,18,.10);border-radius:10px;background:#f8f3ea;color:#514a42;font-size:9px;font-weight:800;letter-spacing:.075em;text-transform:uppercase}
.filter-progress:before{content:'1  LOCATION   →   2  WHEN';grid-column:1/3}
.filter-progress:after{content:'3  PREFERENCES · OPTIONAL';grid-column:3}

/* Fast path is useful, but it no longer competes with the location field. */
.service-presets{margin:0 0 20px;padding:0 0 20px;border-bottom:1px solid rgba(23,22,18,.10)}
.service-presets>span{display:block;margin-bottom:10px;color:#746b60;font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.service-preset-list{display:flex;flex-wrap:wrap;gap:8px}
.service-preset{min-height:40px;padding:0 14px;border:1px solid rgba(23,22,18,.13);border-radius:999px;background:rgba(255,255,255,.72);color:#514a42;font-size:9px;font-weight:700;letter-spacing:.055em;cursor:pointer;transition:.18s ease}
.service-preset:hover,.service-preset:focus{outline:none;background:var(--ink);border-color:var(--ink);color:#fffaf0;transform:translateY(-1px)}

/* Make the form read like three groups even though the underlying markup stays lightweight. */
.finder-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}
.finder-grid .field{position:relative}
.finder-grid .field.full{grid-column:1/-1!important;margin-bottom:8px!important}
.finder-grid .field.full:before{content:'STEP 1 · WHERE';display:block;margin:0 0 9px;color:#746b60;font-size:8px;font-weight:800;letter-spacing:.14em}
.finder-grid .field.full label{font-size:12px!important;letter-spacing:.02em!important;text-transform:none!important;color:#171612!important}
.finder-grid .field.full input{min-height:62px!important;padding:0 18px!important;border:2px solid rgba(23,22,18,.20)!important;background:#fff!important;font-size:17px!important;box-shadow:0 8px 25px rgba(23,22,18,.045)!important}
.finder-grid .field:nth-child(2),.finder-grid .field:nth-child(3){padding-top:29px}
.finder-grid .field:nth-child(2):before{content:'STEP 2 · WHEN';position:absolute;top:4px;left:0;color:#746b60;font-size:8px;font-weight:800;letter-spacing:.14em}
.finder-grid .field:nth-child(4),.finder-grid .field:nth-child(5){margin-top:8px;padding:18px;border:1px solid rgba(23,22,18,.09);background:#f8f3ea;border-radius:12px}
.finder-grid .field:nth-child(4):before{content:'STEP 3 · OPTIONAL';position:absolute;top:-23px;left:0;color:#746b60;font-size:8px;font-weight:800;letter-spacing:.14em}
.finder-grid .field:nth-child(4) label,.finder-grid .field:nth-child(5) label{color:#625a50!important}
.finder-grid .field:nth-child(4) select,.finder-grid .field:nth-child(5) select{background:#fffdf8!important}

.finder-actions{display:grid!important;grid-template-columns:minmax(220px,1fr) auto!important;gap:10px!important;align-items:center!important;margin-top:22px!important}
.finder-actions .btn.dark{min-height:58px!important;font-size:12px!important;letter-spacing:.045em!important;box-shadow:0 10px 24px rgba(23,22,18,.12)!important}
#clearChurchFilters{border:0!important;background:transparent!important;color:#746b60!important;text-decoration:underline;text-underline-offset:3px;min-width:auto!important;padding-left:12px!important;padding-right:12px!important}

.search-summary{margin-top:20px!important;padding-top:18px!important;border-top:1px solid rgba(23,22,18,.10)!important}
.summary-card{background:#fff!important;border-left:3px solid #b38a43!important;padding:16px 18px!important;box-shadow:0 5px 18px rgba(23,22,18,.035)!important}
.search-summary .status{max-width:760px}

.finder-intro .finder-trust b{font-size:16px}
.finder-intro .finder-trust small{font-size:9px}
.time-card{cursor:default}

/* Optional filters should feel supplemental, not required. */
.denom-guide{border-top:1px solid rgba(23,22,18,.08)}
.denom-chip{transition:.18s ease}
.denom-chip:hover,.denom-chip:focus{transform:translateY(-1px)}

@media(min-width:761px){
  .finder-shell{grid-template-columns:minmax(300px,.72fr) minmax(560px,1.28fr)!important}
  .finder-intro{padding:42px!important}
  .finder-panel{padding:36px 40px 38px!important}
}

@media(max-width:760px){
  /* Mobile: finder becomes the primary experience. */
  .crumbs{padding:13px 18px!important;font-size:8px!important}

  .page-hero.dark{display:block!important;min-height:0!important;padding:40px 20px 32px!important;background:linear-gradient(145deg,#171612 0%,#26221c 100%)!important}
  .page-hero.dark:before{display:none!important}
  .page-hero.dark h1{font-size:clamp(46px,13.5vw,60px)!important;line-height:.91!important;letter-spacing:-.055em!important;margin:13px 0 16px!important}
  .page-hero.dark p{font-size:15px!important;line-height:1.5!important;margin-bottom:20px!important}
  .page-hero.dark .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:20px!important}
  .page-hero.dark .hero-actions .btn{width:100%!important;min-height:49px!important;border-radius:12px!important}
  .page-hero.dark .hero-card{display:none!important}

  #finder{padding:18px 10px 54px!important}
  .finder-shell{display:block!important;width:100%!important;min-height:0!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 18px 45px rgba(54,42,25,.10)!important}
  .finder-intro{min-height:0!important;padding:26px 18px 21px!important}
  .finder-intro:after{font-size:110px!important;right:-8px!important;bottom:-18px!important}
  .finder-intro h2{font-size:35px!important;line-height:.98!important;margin:10px 0 12px!important}
  .finder-intro p{font-size:13px!important;line-height:1.52!important;margin-bottom:15px!important}
  .finder-trust{display:none!important}
  .finder-intro .btn.light{width:100%!important;min-height:50px!important;border-radius:12px!important;margin-top:2px!important}
  .finder-note{margin-top:11px!important;padding-top:10px!important;font-size:8px!important;line-height:1.45!important}

  .finder-panel{padding:21px 15px 24px!important}
  .filter-progress{grid-template-columns:1fr!important;gap:6px!important;margin-bottom:16px!important}
  .filter-progress:before,.filter-progress:after{grid-column:auto!important;min-height:35px!important;padding:0 10px!important;font-size:7px!important;border-radius:8px!important}
  .filter-progress:after{display:none!important}

  .service-presets{margin-bottom:17px;padding-bottom:15px}
  .service-presets>span{margin-bottom:8px}
  .service-preset-list{flex-wrap:nowrap;overflow-x:auto;gap:7px;padding:1px 0 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
  .service-preset-list::-webkit-scrollbar{display:none}
  .service-preset{flex:0 0 auto;min-height:40px;padding:0 12px;scroll-snap-align:start}

  .finder-grid{grid-template-columns:1fr!important;gap:11px!important}
  .field,.field.full{display:block!important;grid-column:auto!important;width:100%!important;min-width:0!important}
  .field label{display:block!important;margin:0 0 7px!important;font-size:8px!important}
  .field input,.field select{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:52px!important;padding:0 13px!important;border-radius:11px!important;font-size:16px!important}
  .finder-grid .field.full{margin-bottom:5px!important}
  .finder-grid .field.full:before{margin-bottom:7px!important}
  .finder-grid .field.full input{min-height:58px!important}
  .finder-grid .field:nth-child(2),.finder-grid .field:nth-child(3){padding-top:0!important}
  .finder-grid .field:nth-child(2):before{position:static!important;display:block!important;margin:4px 0 8px!important}
  .finder-grid .field:nth-child(4),.finder-grid .field:nth-child(5){margin-top:4px!important;padding:14px!important;border-radius:11px!important}
  .finder-grid .field:nth-child(4):before{position:static!important;display:block!important;margin:0 0 9px!important}

  .finder-actions{grid-template-columns:1fr!important;gap:5px!important;margin-top:17px!important}
  .finder-actions .btn{width:100%!important;min-width:0!important;min-height:51px!important;border-radius:11px!important}
  #clearChurchFilters{min-height:35px!important;text-decoration:none!important;font-size:8px!important}

  .search-summary{margin-top:17px!important;padding-top:15px!important}
  .summary-card{padding:14px!important;font-size:12px!important;line-height:1.45!important;border-radius:0 10px 10px 0!important}
  .search-summary .status{font-size:8px!important;line-height:1.45!important}

  .denom-guide{padding:6px 18px 54px!important}
  .denom-guide-head{display:block!important;padding-top:43px!important}
  .denom-guide-head h2{font-size:36px!important;line-height:1!important;margin-bottom:16px!important}
  .denom-guide-head p{font-size:13px!important;line-height:1.52!important}
  .denom-chips{flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:8px!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}
  .denom-chips::-webkit-scrollbar{display:none}
  .denom-chip{flex:0 0 auto!important;min-height:40px!important;white-space:nowrap!important}
  .time-guide{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:22px!important}
  .time-card{min-height:0!important;padding:18px!important}

  .section.tight{padding:52px 18px!important}
  .section.tight .head{margin-bottom:24px!important}
  .section.tight .head h2{font-size:39px!important}
  .category-grid{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .category{min-height:240px!important;padding:23px!important}

  #first-visit{padding:0 18px 54px!important}
  .first-visit{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .first-visit>div{min-height:0!important;padding:22px!important;border-radius:14px!important}

  .content-band{padding:54px 18px!important}
  .content-intro{display:block!important}
  .content-intro h2{font-size:37px!important}
  .info-grid,.info-grid.four,.info-grid.two,.copy-list{grid-template-columns:1fr!important}
}

@media(max-width:390px){
  .page-hero.dark{padding-left:17px!important;padding-right:17px!important}
  #finder{padding-left:8px!important;padding-right:8px!important}
  .finder-intro{padding-left:16px!important;padding-right:16px!important}
  .finder-panel{padding-left:12px!important;padding-right:12px!important}
}
