/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./components/MapFooter.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
/* MapFooter slide-out panel from bottom */
.MapFooter_footer__mppGe {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1100;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: auto;
}

/* Closed state: only the handle bar + icon visible */
.MapFooter_closed__WBVpI {
  transform: translateY(calc(100% - 30px));
}

/* Open state: full footer visible */
.MapFooter_open__NEnLI {
  transform: translateY(0);
}

/* Handle bar at the top to toggle */
.MapFooter_handle__SKbIC {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  gap: 2px;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

.MapFooter_handleBar__7LdWW {
  width: 100%;
  height: 10px;
  background: linear-gradient(180deg, rgba(139, 15, 38, 0.92), rgba(160, 20, 45, 0.95));
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  flex-shrink: 0;
}

.MapFooter_handle__SKbIC:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -1px;
}

.MapFooter_collapseIcon__OuqEi {
  width: 60px;
  height: 18px;
  display: block;
  flex-shrink: 0;
  object-fit: contain;
  transition: transform 0.35s ease;
  pointer-events: none;
}


/* Content area with the 3 action items */
.MapFooter_content___tHY_ {
  display: flex;
  align-items: stretch;
  justify-content: space-evenly;
  background: rgba(255, 255, 255, 0.97);
  padding: 12px 8px 16px;
  gap: 4px;
}

/* Individual action button */
.MapFooter_actionItem__iZo54 {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  padding: 8px 6px;
  background: none;
  border: none;
  color: #333;
  cursor: pointer;
  border-radius: 10px;
  transition: all 0.2s ease;
  -webkit-tap-highlight-color: transparent;
  outline: none;
}

.MapFooter_actionItem__iZo54:hover:not(:disabled) {
  background: rgba(200, 0, 0, 0.1);
  color: #000;
}

.MapFooter_actionItem__iZo54:active:not(:disabled) {
  transform: scale(0.96);
  background: rgba(0, 0, 0, 0.15);
}

.MapFooter_actionItem__iZo54:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* Active state (e.g. location following) */
.MapFooter_activeAction__AOEoj {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

/* Icon circle */
.MapFooter_iconWrapper__BlkRy {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.MapFooter_actionItem__iZo54:hover:not(:disabled) .MapFooter_iconWrapper__BlkRy {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
}

.MapFooter_actionItem__iZo54:disabled {
  color: #777;
  cursor: not-allowed;
  opacity: 0.6;
}

.MapFooter_actionItem__iZo54:disabled .MapFooter_iconWrapper__BlkRy {
  filter: grayscale(1);
}

@media (prefers-reduced-motion: reduce) {
  .MapFooter_footer__mppGe, .MapFooter_collapseIcon__OuqEi, .MapFooter_actionItem__iZo54, .MapFooter_iconWrapper__BlkRy {
    transition: none;
  }
}

/* Label text */
.MapFooter_actionLabel__YDYdy {
  font-size: 11px;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  max-width: 120px;
  word-wrap: break-word;
}

/* Responsive: Tablet */
@media (max-width: 768px) {
  .MapFooter_content___tHY_ {
    padding: 10px 6px 14px;
    gap: 2px;
  }

  .MapFooter_iconWrapper__BlkRy {
    width: 40px;
    height: 40px;
  }

  .MapFooter_iconWrapper__BlkRy svg {
    width: 24px;
    height: 24px;
  }

  .MapFooter_actionLabel__YDYdy {
    font-size: 10px;
    max-width: 100px;
  }
}

/* Responsive: Small phone */
@media (max-width: 380px) {
  .MapFooter_content___tHY_ {
    padding: 8px 4px 12px;
    gap: 0;
  }

  .MapFooter_iconWrapper__BlkRy {
    width: 36px;
    height: 36px;
  }

  .MapFooter_iconWrapper__BlkRy svg {
    width: 22px;
    height: 22px;
  }

  .MapFooter_actionLabel__YDYdy {
    font-size: 9px;
    max-width: 90px;
  }

  .MapFooter_actionItem__iZo54 {
    padding: 6px 4px;
    gap: 4px;
  }
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./components/ContentPageFrame.module.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/
.ContentPageFrame_stage__5IrEP {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(20px, env(safe-area-inset-top)) 36px max(48px, env(safe-area-inset-bottom));
  background-color: #758170;
  background-image: linear-gradient(rgb(0 0 0 / 28%), rgb(0 0 0 / 28%)), var(--page-background-desktop);
  background-position: center;
  background-size: cover;
}

.ContentPageFrame_panel__6Tovb {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 900px;
  min-width: 0;
  height: 85vh;
  height: 85dvh;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #f9fafb;
  box-shadow: 0 20px 60px rgb(0 0 0 / 30%);
  animation: ContentPageFrame_enter__MKO1L 0.25s ease-out;
}

.ContentPageFrame_header__5lazU {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 18px;
  min-height: 64px;
  padding: 8px 60px 8px 12px;
  position: relative;
  color: #fff;
  background: #be0e2f;
}

.ContentPageFrame_logo__30_Fg {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  object-fit: contain;
}

.ContentPageFrame_title__TM5QJ {
  margin: 0;
  min-width: 0;
  font-family: inherit;
  font-size: clamp(1rem, 2.5vw, 1.4rem);
  font-weight: 600;
  line-height: 1.3;
  color: #fff;
  overflow-wrap: anywhere;
}

.ContentPageFrame_close__1rkMS {
  position: absolute;
  top: 12px;
  right: 10px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 50%;
  background: #fff;
  color: #333;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 8px rgb(0 0 0 / 15%);
}

.ContentPageFrame_close__1rkMS:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.ContentPageFrame_body__Z3p4_ {
  flex: 1 1;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding: clamp(16px, 3vw, 28px);
}

.ContentPageFrame_embedded__6pTKZ {
  height: 100vh;
  height: 100dvh;
}

.ContentPageFrame_embedded__6pTKZ .ContentPageFrame_panel__6Tovb {
  height: 100%;
  max-width: none;
  border-radius: 0;
  box-shadow: none;
  animation: none;
}

@keyframes ContentPageFrame_enter__MKO1L {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1199px) {
  .ContentPageFrame_stage__5IrEP {
    background-image: linear-gradient(rgb(0 0 0 / 28%), rgb(0 0 0 / 28%)), var(--page-background-tablet);
  }
}

@media (max-width: 767px) {
  .ContentPageFrame_stage__5IrEP {
    padding: max(12px, env(safe-area-inset-top)) 24px max(44px, env(safe-area-inset-bottom));
    background-image: linear-gradient(rgb(0 0 0 / 28%), rgb(0 0 0 / 28%)), var(--page-background-mobile);
  }

  .ContentPageFrame_panel__6Tovb {
    height: 100%;
  }

  .ContentPageFrame_header__5lazU {
    gap: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ContentPageFrame_panel__6Tovb { animation: none; }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./components/CmsContentPage.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************/
.CmsContentPage_content__bKUQe {
  line-height: 1.7;
  color: #1f2937;
  overflow-wrap: break-word;
}

.CmsContentPage_content__bKUQe p { margin-bottom: 1rem; }
.CmsContentPage_content__bKUQe a { color: #be0e2f; text-decoration: underline; }
.CmsContentPage_content__bKUQe a:hover { color: #8a0921; }
.CmsContentPage_content__bKUQe ul, .CmsContentPage_content__bKUQe ol { margin: 1rem 0; padding-left: 2rem; }
.CmsContentPage_content__bKUQe li { margin-bottom: 0.5rem; }
.CmsContentPage_content__bKUQe h1, .CmsContentPage_content__bKUQe h2, .CmsContentPage_content__bKUQe h3, .CmsContentPage_content__bKUQe h4 {
  font-weight: 600;
  margin: 1.5rem 0 1rem;
  color: #1f2937;
}
.CmsContentPage_content__bKUQe h1 { font-size: 2em; }
.CmsContentPage_content__bKUQe h2 { font-size: 1.75em; }
.CmsContentPage_content__bKUQe h3 { font-size: 1.5em; }
.CmsContentPage_content__bKUQe h4 { font-size: 1.25em; }
.CmsContentPage_content__bKUQe .text-small { font-size: 0.875em; }
.CmsContentPage_content__bKUQe .text-large { font-size: 1.25em; }
.CmsContentPage_content__bKUQe img { max-width: 100%; height: auto; margin: 1.5rem 0; border-radius: 4px; }
.CmsContentPage_content__bKUQe .btn.btn-secondary {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: #be0e2f;
  color: #fff;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 500;
}
.CmsContentPage_content__bKUQe .btn.btn-secondary:hover { background: #8a0921; }

.CmsContentPage_state__tr0Sq { padding: 2rem 0; text-align: center; }
.CmsContentPage_state__tr0Sq[role='alert'] { color: #dc2626; }
.CmsContentPage_spinner__ovTfu {
  width: 40px;
  height: 40px;
  margin: 0 auto 1rem;
  border: 4px solid #eee;
  border-top-color: #be0e2f;
  border-radius: 50%;
  animation: CmsContentPage_spin__iQN6X 1s linear infinite;
}
@keyframes CmsContentPage_spin__iQN6X { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .CmsContentPage_spinner__ovTfu { animation: none; }
}

