/* FIND Outdoors Camper Check-In: tablet and camper map styles.
 * Colors: navy #263150, cream #fdf1e1, page #f7f1e8, pin red #b3424c.
 * Written for iPads back to iOS 12: no flexbox gap, clamp() always has a plain fallback,
 * no aspect-ratio, no :has().
 */

/* ---------- page frame ---------- */
html.foci-html, html.foci-html body.foci-canvas { background: #263150 !important; margin: 0; padding: 0; color-scheme: only light; }
body.foci-canvas { min-height: 100vh; color: #1d2b30; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; overscroll-behavior: none;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.foci-standalone body, html.foci-standalone { -webkit-user-select: none; user-select: none; }
.foci-standalone input, .foci-standalone textarea { -webkit-user-select: text; user-select: text; }
.foci-app [hidden], .foci-cmap [hidden], .foci-main [hidden] { display: none !important; }

.foci-topbar {
  position: -webkit-sticky; position: sticky; top: 0; z-index: 1000;
  display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center;
  background: #263150; box-shadow: 0 2px 10px rgba(0,0,0,.12);
  padding: calc(env(safe-area-inset-top, 0px) + 14px) max(20px, env(safe-area-inset-right, 0px)) 14px max(20px, env(safe-area-inset-left, 0px));
}
.foci-topbar-logo { height: 52px; width: auto; display: block; }
.foci-main { background: #f7f1e8; min-height: calc(100vh - 80px); padding: 18px 20px 40px; box-sizing: border-box; }
.foci-checkin-page .foci-main { padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px)); }

.foci-app { max-width: 780px; margin: 0 auto; }
.foci-elsewhere { max-width: 640px; margin: 2rem auto; text-align: center; }
.foci-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.foci-serif, .foci-hero, .foci-h2, .foci-done-title, .foci-idle-card h2, .foci-cmap-title, .foci-lock-title {
  font-family: "alverata", "Alverata", "Alverata Black", "Alverata W01 Black", "Alverata W01", Georgia, "Times New Roman", serif;
  font-weight: 900;
}

/* ---------- welcome screen ---------- */
.foci-welcome { text-align: center; padding-top: 2vh; min-height: calc(100vh - 170px); box-sizing: border-box;
  display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: center; justify-content: center; }
.foci-welcome > * { -webkit-flex: none; flex: none; }
.foci-hero, .foci-app h1.foci-hero, body.foci-canvas h1.foci-hero {
  margin: .15em 0 .25em !important; color: #263150 !important; line-height: 1 !important; letter-spacing: -.01em;
  font-size: 5.6rem !important;
  font-size: clamp(3.6rem, 12vw, 8.5rem) !important;
  text-transform: none !important; text-shadow: none !important; background: none !important;
}
.foci-place { font-size: 1.45rem; margin: 0 0 1.4rem; color: #263150; }
.foci-place strong { color: #b3424c; }
.foci-banner { margin: 0 auto 1.6rem; border-radius: 14px; overflow: hidden; background: #e9e1d4; box-shadow: 0 6px 18px rgba(38,49,80,.12);
  height: 190px; height: 24vw; max-height: 240px; min-height: 120px; }
.foci-banner img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: 50% 50%; margin: 0 !important; }
.foci-welcome-go { margin-top: 1.5rem; }
.foci-welcome-note { max-width: 560px; margin: 1.4rem auto 0; font-size: 1.08rem; line-height: 1.5; color: #4b5866; }
.foci-welcome-note strong { color: #263150; }
.foci-version { margin: 2.5rem 0 0; font-size: .72rem; color: #b8b0a3; text-align: center; }
.foci-queue-note { margin: 1.2rem auto 0; max-width: 560px; font-size: .9rem; color: #8a6d3b; background: #fff6df; border-radius: 8px; padding: .5rem .8rem; }

/* ---------- buttons ---------- */
.foci-app button.foci-btn, .foci-main button.foci-btn, .foci-cmap button.foci-btn {
  display: inline-block; -webkit-appearance: none; appearance: none; cursor: pointer;
  background: #b3424c !important; background-image: none !important; color: #fdf1e1 !important;
  border: 2px solid #b3424c !important; border-radius: 12px !important; box-shadow: none !important; text-shadow: none !important;
  font: 700 1.25rem/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  text-transform: none !important; padding: .95rem 1.8rem !important; min-height: 60px; min-width: 150px;
  touch-action: manipulation;
}
.foci-app button.foci-btn:active, .foci-app button.foci-btn:hover { background: #93343d !important; border-color: #93343d !important; }
.foci-app button.foci-btn:disabled { opacity: .6 !important; }
.foci-app button.foci-btn-hero { font-size: 1.7rem !important; padding: 1.15rem 3rem !important; min-width: 62%; min-height: 84px; border-radius: 16px !important; box-shadow: 0 8px 22px rgba(179,66,76,.28) !important; }
.foci-app button.foci-btn-ghost { background: #fff !important; color: #263150 !important; border-color: #c9bda8 !important; }
.foci-app button.foci-btn-ghost:active, .foci-app button.foci-btn-ghost:hover { background: #f1ebe0 !important; border-color: #263150 !important; }
.foci-linkbtn, .foci-startover, .foci-clear {
  -webkit-appearance: none; appearance: none; background: none !important; border: 0 !important; padding: .4rem .2rem !important; margin: 0;
  color: #263150 !important; font: 600 1rem/1.2 inherit !important; text-decoration: underline; cursor: pointer; box-shadow: none !important;
}
.foci-startover.is-armed { color: #b3424c !important; font-weight: 800 !important; }

/* ---------- step header ---------- */
.foci-progress { margin: 0 0 1.4rem; }
.foci-progress-top { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; margin-bottom: .5rem; }
.foci-step-label { font-weight: 700; color: #5b6a70; font-size: 1rem; }
.foci-bar { height: 10px; border-radius: 6px; background: #e4d9c6; overflow: hidden; }
.foci-bar span { display: block; height: 100%; width: 0; background: #b3424c; border-radius: 6px; transition: width .35s ease; }

/* ---------- questions ---------- */
.foci-h2 { color: #263150; font-size: 2.3rem; margin: 0 0 .6rem; line-height: 1.1; }
.foci-lead { font-size: 1.15rem; color: #4b5866; margin: 0 0 1rem; line-height: 1.45; }
.foci-label { display: block; font-weight: 700; font-size: 1.12rem; color: #263150; margin: 1.1rem 0; }
.foci-label input, .foci-label select, .foci-label textarea {
  display: block; width: 100%; box-sizing: border-box; margin-top: .45rem;
  font-size: 1.25rem !important; padding: .8rem .9rem; min-height: 58px;
  border: 2px solid #d4c8b3; border-radius: 10px; background: #fff; color: #1d2b30;
  font-family: inherit; -webkit-appearance: none; appearance: none;
}
.foci-label select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 7l5 6 5-6' fill='none' stroke='%23263150' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 20px 20px; padding-right: 44px;
}
.foci-label input:focus, .foci-label select:focus { outline: none; border-color: #263150; box-shadow: 0 0 0 3px rgba(38,49,80,.15); }
.foci-label input[readonly].foci-locked { background: #efe8dc; color: #1d2b30; }
.foci-req { color: #b3424c; font-weight: 800; }
.foci-hint { font-weight: 400; color: #7a8790; font-size: 1rem; }
.foci-field-note { display: block; margin-top: .4rem; font-size: 1rem; font-weight: 400; color: #5f6b7a; }
.foci-checkout { color: #263150; font-weight: 700; }
.foci-row { display: -ms-grid; display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 1.1rem; column-gap: 1.1rem; -webkit-align-items: end; align-items: end; }
@media (max-width: 620px) { .foci-row { grid-template-columns: 1fr; } }
.foci-fieldset { border: 0; padding: 0; margin: 1.1rem 0; min-width: 0; }
.foci-fieldset legend { margin: 0 0 .5rem; padding: 0; }
.foci-required-note { margin: 1.2rem 0 0; font-size: .95rem; color: #6c7780; text-align: right; }
.foci-party-total { font-size: 1.3rem; font-weight: 700; color: #263150; background: #fff; border-radius: 10px; padding: .7rem 1rem; display: inline-block; }

/* Big tap-to-choose answers */
.foci-choices { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -.35rem; }
.foci-choice { position: relative; margin: 0 .35rem .7rem; cursor: pointer; -webkit-flex: 1 1 160px; flex: 1 1 160px; max-width: 280px; }
.foci-choices-many .foci-choice { -webkit-flex: 1 1 200px; flex: 1 1 200px; max-width: none; }
.foci-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; left: 0; top: 0; }
.foci-choice span {
  display: block; text-align: center; padding: 1rem 1.2rem; min-height: 64px; box-sizing: border-box;
  border: 2px solid #d4c8b3; border-radius: 12px; background: #fff; color: #263150; font-size: 1.3rem; font-weight: 700; line-height: 1.4;
  -webkit-transition: background .12s, border-color .12s; transition: background .12s, border-color .12s;
}
.foci-choice.is-on span, .foci-choice input:checked + span { background: #b3424c; border-color: #b3424c; color: #fdf1e1; }
.foci-choice input:focus + span { box-shadow: 0 0 0 3px rgba(38,49,80,.2); }

/* Checkboxes drawn by us (iOS 12 draws its own differently) */
.foci-check { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; margin: 1.2rem 0 .5rem; cursor: pointer; font-size: 1.15rem; line-height: 1.4; color: #263150; background: #fff; border: 2px solid #e2d8c6; border-radius: 12px; padding: .8rem .9rem; }
.foci-check input[type=checkbox] {
  -webkit-appearance: none !important; appearance: none !important; -webkit-flex: none; flex: none;
  width: 34px !important; height: 34px !important; margin: 0 16px 0 0 !important; padding: 0 !important;
  border: 2px solid #b3424c !important; border-radius: 8px !important; background: #fff center / 24px 24px no-repeat !important; cursor: pointer;
}
.foci-check input[type=checkbox]:checked {
  background-color: #b3424c !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 12.5l5 5 10-11' fill='none' stroke='%23fdf1e1' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.foci-check span { -webkit-flex: 1; flex: 1; }
.foci-check.is-on { border-color: #b3424c; }
.foci-check-17 { font-size: 1.05rem; background: transparent; border-style: dashed; }

/* Vehicles */
.foci-tags { margin-top: .4rem; }
.foci-tags-grid { display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 1rem; column-gap: 1rem; grid-row-gap: 1rem; row-gap: 1rem; }
@media (max-width: 620px) { .foci-tags-grid { grid-template-columns: 1fr; } }
.foci-tag { background: #fff; border: 2px solid #e2d8c6; border-radius: 14px; padding: .9rem 1rem .3rem; margin-bottom: 1rem; }
.foci-tags-grid .foci-tag { margin-bottom: 0; }
.foci-tag-title { display: block; font-weight: 800; color: #b3424c; font-size: 1.1rem; }
.foci-tag .foci-label { margin: .6rem 0 .8rem; }
.foci-tag-input { text-transform: uppercase; }
.foci-tag-input::-webkit-input-placeholder { text-transform: none; }
.foci-tag-input::placeholder { text-transform: none; }

/* Waiver */
.foci-waiver { background: #fff; border-left: 6px solid #263150; border-radius: 10px; padding: 1.3rem 1.5rem; font-size: 1.2rem; line-height: 1.6; color: #1d2b30; box-shadow: 0 4px 14px rgba(38,49,80,.07); }
.foci-waiver p { margin: 0 0 .9rem; }
.foci-waiver p:last-child { margin-bottom: 0; }
.foci-waiver p:first-child { font-weight: 700; color: #263150; }

/* Signature box */
.foci-pad-wrap { margin-top: 1rem; }
.foci-pad-head { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; font-weight: 700; color: #263150; font-size: 1.12rem; margin-bottom: .4rem; }
.foci-pad { position: relative; height: 250px; background: #fff; border: 2px dashed #b9ad98; border-radius: 14px; overflow: hidden; }
.foci-pad canvas { position: absolute; left: 0; top: 0; width: 100%; height: 100%; touch-action: none; -ms-touch-action: none; z-index: 2; cursor: crosshair; }
.foci-pad-line { position: absolute; left: 6%; right: 6%; bottom: 26%; border-bottom: 2px solid #d4c8b3; z-index: 1; pointer-events: none; }
.foci-pad-line span { position: absolute; left: -2px; bottom: 2px; font-size: 2rem; color: #b9ad98; line-height: 1; }
.foci-17-note { background: #fff; border-radius: 12px; padding: 1rem 1.2rem; font-size: 1.12rem; color: #263150; }

/* Minors */
.foci-minors { margin-bottom: .6rem; }
.foci-minor { background: #fff; border-radius: 10px; padding: .8rem 1rem; margin: .6rem 0; font-size: 1.15rem; font-weight: 700; color: #263150; }

/* Errors */
.foci-error { margin: 1.2rem 0 0; background: #fbeaea; border-left: 6px solid #b3424c; border-radius: 8px; padding: .9rem 1.1rem; font-size: 1.12rem; font-weight: 700; color: #7d2630; }
.foci-invalid input, .foci-invalid select, input.foci-invalid { border-color: #b3424c !important; }
.foci-invalid .foci-choice span, .foci-invalid.foci-pad-wrap .foci-pad, .foci-invalid.foci-check { border-color: #b3424c !important; }

/* Back / Next */
.foci-nav { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; margin-top: 2rem; }
.foci-nav #foci-next { min-width: 55%; }

/* ---------- done ---------- */
.foci-done { text-align: center; padding-top: 6vh; }
.foci-done-mark svg { width: 120px; height: 120px; }
.foci-done-mark circle { fill: #263150; }
.foci-done-mark path { fill: none; stroke: #fdf1e1; stroke-width: 4.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 40; stroke-dashoffset: 0; -webkit-animation: foci-tick .5s .15s ease-out both; animation: foci-tick .5s .15s ease-out both; }
@-webkit-keyframes foci-tick { from { stroke-dashoffset: 40; } to { stroke-dashoffset: 0; } }
@keyframes foci-tick { from { stroke-dashoffset: 40; } to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .foci-done-mark path { -webkit-animation: none; animation: none; stroke-dashoffset: 0; } }
.foci-done-title { color: #263150; font-size: 3.2rem; margin: .6rem 0 .4rem; line-height: 1.05; }
.foci-done-site { font-size: 1.45rem; color: #263150; margin: 0 0 .6rem; font-weight: 700; }
.foci-done-out { font-size: 1.35rem; color: #b3424c; font-weight: 800; margin: 0 0 1rem; }
.foci-done-offline { max-width: 560px; margin: 0 auto 1rem; background: #fff6df; color: #6b5420; border-radius: 10px; padding: .8rem 1rem; font-size: 1.05rem; }
.foci-done-enjoy { font-size: 1.3rem; color: #4b5866; margin: 0 0 1.6rem; }
.foci-done-reset { margin-top: 1rem; color: #8a949b; font-size: .95rem; }

/* ---------- privacy countdown ---------- */
.foci-idle { position: fixed; left: 0; top: 0; right: 0; bottom: 0; z-index: 5000; background: rgba(20,30,55,.78);
  display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; padding: 20px; }
.foci-idle-card { background: #fdf9f2; border-radius: 22px; padding: 2rem 2.2rem 2.2rem; text-align: center; max-width: 520px; width: 100%; box-shadow: 0 20px 60px rgba(0,0,0,.35); }
.foci-idle-card h2 { color: #263150; font-size: 2.6rem; margin: 0 0 .4rem; }
.foci-idle-card p { font-size: 1.2rem; color: #33414d; margin: .2rem 0; }
.foci-idle-count { font: 800 5.5rem/1.1 Georgia, serif !important; color: #b3424c !important; margin: .2rem 0 !important; }
.foci-idle-card .foci-btn-hero { margin-top: 1.2rem; min-width: 80%; }

/* ---------- tablets and phones ---------- */
@media (max-width: 600px) {
  .foci-topbar-logo { height: 40px; }
  .foci-main { padding: 12px 12px 30px; }
  .foci-h2 { font-size: 1.8rem; }
  .foci-app button.foci-btn-hero { min-width: 90%; }
  .foci-nav #foci-next { min-width: 0; -webkit-flex: 1; flex: 1; margin-left: .8rem; }
  .foci-pad { height: 200px; }
}

/* ==========================================================================
   Camper map (map pages and wp-admin)
   ========================================================================== */
.foci-map-page .foci-main { padding: 0; min-height: 0; }
.foci-lock { max-width: 560px; margin: 8vh auto 0; text-align: center; padding: 0 16px; }
.foci-lock-title { color: #263150; font-size: 2.6rem; margin: 0; }
.foci-lock-place { color: #b3424c; font-weight: 800; font-size: 1.3rem; margin: .3rem 0 .8rem; }
.foci-lock-note { color: #4b5866; font-size: 1.05rem; line-height: 1.5; }
.foci-pw { max-width: 480px; margin: 1.4rem auto 0; background: #fff; padding: 24px; border-radius: 14px; box-shadow: 0 8px 24px rgba(0,0,0,.08); text-align: left; }
.foci-pw label { display: block; font-weight: 700; color: #263150; margin-bottom: .4rem; font-size: 1.05rem; }
.foci-pw input { display: block; width: 100%; box-sizing: border-box; font-size: 1.2rem; padding: .7rem .8rem; border: 2px solid #d4c8b3; border-radius: 10px; margin-bottom: 1rem; }
.foci-pw button.foci-btn { width: 100%; background: #b3424c; color: #fdf1e1; border: 0; border-radius: 10px; font-weight: 700; font-size: 1.15rem; padding: .8rem; cursor: pointer; }

.foci-cmap { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; height: calc(100vh - 80px - env(safe-area-inset-top, 0px)); background: #f7f1e8; }
.foci-cmap [hidden] { display: none !important; }
.foci-cmap-head { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-end; align-items: flex-end; padding: 12px 18px; background: #f7f1e8; border-bottom: 1px solid #e2d8c6; }
.foci-cmap-titles { margin-right: 20px; }
.foci-cmap-title { margin: 0; color: #263150; font-size: 1.9rem; line-height: 1.1; }
.foci-cmap-place { margin: 2px 0 0; color: #b3424c; font-weight: 800; }
.foci-cmap-filters { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.foci-cmap-filters label { display: block; font-weight: 700; font-size: .9rem; color: #263150; margin: 4px 0 4px 12px; }
.foci-cmap-filters select { display: block; margin-top: 3px; font-size: 1rem; padding: .45rem .6rem; border: 2px solid #d4c8b3; border-radius: 8px; background: #fff; min-width: 170px; }
.foci-cmap-body { -webkit-flex: 1 1 auto; flex: 1 1 auto; display: -webkit-flex; display: flex; min-height: 0; }
.foci-cmap-map { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-height: 300px; }
.foci-cmap-side { width: 360px; -webkit-flex: none; flex: none; overflow-y: auto; -webkit-overflow-scrolling: touch; background: #fdf9f2; border-left: 1px solid #e2d8c6; padding: 14px 16px; box-sizing: border-box; }
.foci-cmap-stats { font-size: 1.05rem; color: #263150; margin-bottom: 10px; line-height: 1.4; }
.foci-cmap-stats small { color: #6c7780; }
.foci-cmap-sel { background: #263150; color: #fdf1e1; border-radius: 10px; padding: 8px 12px; margin-bottom: 10px; font-weight: 700; }
.foci-cmap-sel .foci-linkbtn { color: #fdf1e1 !important; font-size: .9rem !important; margin-left: 6px; }
.foci-cmap-list { list-style: none; margin: 0; padding: 0; }
.foci-cmap-item { background: #fff; border: 1px solid #ebe1cf; border-radius: 10px; padding: 10px 12px; margin: 0 0 8px; cursor: pointer; }
.foci-cmap-item:hover { border-color: #b3424c; }
.foci-cmap-name { display: block; font-weight: 800; color: #14233f; font-size: 1.08rem; }
.foci-cmap-meta { display: block; color: #4b5866; font-size: .95rem; margin-top: 2px; }
.foci-cmap-meta2 { display: block; margin-top: 5px; font-size: .88rem; color: #4b5866; }
.foci-cmap-meta2 > span { display: inline-block; margin: 0 8px 3px 0; }
.foci-tag-ret { background: #e8f1e4; color: #2c5b25; border-radius: 999px; padding: 1px 8px; font-weight: 700; }
.foci-tag-new { background: #eef0f7; color: #263150; border-radius: 999px; padding: 1px 8px; font-weight: 700; }
.foci-cmap-cg { color: #b3424c; font-weight: 700; }
.foci-cmap-empty { color: #6c7780; font-style: italic; padding: 8px 2px; }
.foci-pin { background: transparent; border: 0; }
.foci-pin svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 2px 3px rgba(29,43,48,.4)); overflow: visible; }
.foci-pin.is-active svg { -webkit-transform: scale(1.25); transform: scale(1.25); -webkit-transform-origin: 50% 90%; transform-origin: 50% 90%; }
.foci-pin-count { position: absolute; top: -6px; left: 15px; min-width: 20px; height: 20px; padding: 0 5px; box-sizing: border-box; border-radius: 10px; background: #263150; color: #fdf1e1; font: 800 12px/20px -apple-system, Helvetica, Arial, sans-serif; text-align: center; border: 1.5px solid #fff; }
.foci-legend { background: #fff; border: 1px solid #c5ced6; border-radius: 6px; padding: 6px 10px; font-size: 12px; line-height: 1.6; color: #1d2b30; box-shadow: 0 1px 4px rgba(0,0,0,.18); }
.foci-legend-pin { display: inline-block; width: 11px; height: 11px; border-radius: 50%; background: #b3424c; border: 1.5px solid #fff; box-shadow: 0 0 0 1px #b3424c; vertical-align: -1px; margin-right: 4px; }
.foci-legend-count { display: inline-block; min-width: 16px; height: 16px; line-height: 16px; border-radius: 8px; background: #263150; color: #fdf1e1; font-size: 10px; font-weight: 800; text-align: center; margin-right: 4px; }
.foci-popup b { color: #263150; }
@media (max-width: 900px), (orientation: portrait) and (max-width: 1100px) {
  .foci-cmap { height: auto; }
  .foci-cmap-body { -webkit-flex-direction: column; flex-direction: column; }
  .foci-cmap-map { height: 58vh; -webkit-flex: none; flex: none; }
  .foci-cmap-side { width: auto; border-left: 0; border-top: 1px solid #e2d8c6; overflow: visible; }
  .foci-cmap-filters label { margin-left: 0; margin-right: 12px; }
}

/* wp-admin Camper Map */
.foci-cmap-admin { height: 78vh; min-height: 560px; border: 1px solid #dcdcde; border-radius: 8px; overflow: hidden; margin-top: 12px; }
.foci-cmap-admin .foci-cmap-title { font-size: 1.5rem; }

/* 1.0.1: the site theme colors big headings white; keep every Camper Check-In heading navy. */
body.foci-canvas .foci-h2, body.foci-canvas .foci-done-title, body.foci-canvas .foci-idle-card h2,
body.foci-canvas .foci-cmap-title, body.foci-canvas .foci-lock-title, .foci-cmap .foci-cmap-title { color: #263150 !important; }
body.foci-canvas .foci-place { color: #263150 !important; }
body.foci-canvas .foci-place strong, body.foci-canvas .foci-lock-place, body.foci-canvas .foci-cmap-place { color: #b3424c !important; }

/* 1.0.2: banner sits above the title; the title is one word per line */
.foci-banner-top { margin: 0 auto 1.2rem; }
.foci-welcome .foci-hero { line-height: .98 !important; margin-top: .1em !important; }

/* 1.0.3: "Welcome to [campground]!" above the step line; Start over is a small solid red button */
.foci-step-welcome { margin: 0 0 .6rem; font-size: 1.35rem; font-weight: 700; color: #263150 !important; text-align: center; }
.foci-step-welcome strong { color: #b3424c !important; }
.foci-app button.foci-btn.foci-btn-small, .foci-app button.foci-startover {
  font-size: 1rem !important; padding: .55rem 1rem !important; min-height: 44px; min-width: 0; border-radius: 10px !important;
  text-decoration: none !important; color: #fdf1e1 !important;
}
.foci-app button.foci-startover.is-armed { background: #93343d !important; border-color: #93343d !important; color: #fdf1e1 !important; font-weight: 800 !important; }

/* 1.0.4: more space between the title's lines, so the p in Camper clears the k in Check-In */
.foci-welcome .foci-hero, .foci-app .foci-welcome h1.foci-hero { line-height: 1.14 !important; }
