:root{
  --cc-font-family:'DM Sans',Arial,sans-serif;
  --cc-modal-border-radius:8px;
  --cc-btn-border-radius:4px;
  --cc-bg:#f2f5ed;
  --cc-primary-color:#233e31;
  --cc-secondary-color:#6d786c;
  --cc-btn-primary-bg:#365b43;
  --cc-btn-primary-color:#fff;
  --cc-btn-primary-border-color:#365b43;
  --cc-btn-primary-hover-bg:#233e31;
  --cc-btn-primary-hover-color:#fff;
  --cc-btn-primary-hover-border-color:#233e31;
  --cc-btn-secondary-bg:transparent;
  --cc-btn-secondary-color:#233e31;
  --cc-btn-secondary-border-color:#9bab8c;
  --cc-btn-secondary-hover-bg:#dbe3d6;
  --cc-btn-secondary-hover-color:#233e31;
  --cc-btn-secondary-hover-border-color:#9bab8c;
  --cc-separator-border-color:#dbe3d6;
  --cc-toggle-on-bg:#365b43;
  --cc-cookie-category-block-border:#dbe3d6;
  --cc-cookie-category-block-hover-border:#a4b697;
  --cc-section-category-border:#dbe3d6;
}

#cc-main .cm__title,
#cc-main .pm__title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:600;
}

.map-placeholder{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:370px;
  background:#f2f5ed;
  border:1px solid #dbe3d6;
  color:#6d786c;
  font-size:14px;
  text-align:center;
  padding:24px;
}

.map-placeholder button{
  border:1px solid #9bab8c;
  background:transparent;
  color:#233e31;
  padding:10px 18px;
  border-radius:4px;
  font-size:13px;
  font-family:inherit;
  cursor:pointer;
}

.map-placeholder button:hover{
  background:#dbe3d6;
}

.location-map iframe[data-src]{
  display:none;
}

.location-map:has(iframe[src]) .map-placeholder{
  display:none;
}

.footer-inner{
  justify-content:center;
}

.footer-meta{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:6px;
}

.back-to-top{
  position:fixed;
  right:20px;
  bottom:20px;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#365b43;
  color:#fff;
  border-radius:50%;
  text-decoration:none;
  font-size:18px;
  line-height:1;
  box-shadow:0 2px 10px rgba(0,0,0,.2);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s;
  z-index:2147483647;
}

.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.back-to-top:hover{
  background:#233e31;
}
