/*
 * Organic Cart Studio Crafted Pro 10.6.4
 * Mobile-first rebuild of the homepage Store System field-note module.
 * Presentation only. No content, URL, metadata, or database behavior changes.
 */

/* Protect the component from inherited minimum widths at every viewport. */
.ocs-hero-object,
.ocs-hero-object__frame,
.ocs-hero-object__head,
.ocs-hero-object__map,
.ocs-hero-object__foot,
.ocs-hero-object .node,
.ocs-object-note,
.ocs-object-message {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .ocs-hero-object {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    perspective: none !important;
  }

  .ocs-hero-object__frame {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    display: grid !important;
    grid-template-rows: auto auto auto !important;
    overflow: hidden !important;
    transform: none !important;
    box-shadow: 10px 12px 0 rgba(7, 17, 12, .08) !important;
  }

  .ocs-hero-object__head {
    min-height: 46px;
    padding: 10px 12px !important;
    gap: 10px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    font-size: .51rem !important;
    line-height: 1.25 !important;
    letter-spacing: .11em !important;
    white-space: normal !important;
  }

  .ocs-hero-object__head span,
  .ocs-hero-object__head b {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .ocs-hero-object__head b {
    text-align: right;
    color: #0a5739;
  }

  .ocs-hero-object__map {
    position: relative !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
    padding: 14px !important;
    background-size: 24px 24px !important;
  }

  .ocs-hero-object__map svg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: .34;
    pointer-events: none;
  }

  .ocs-hero-object .node {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    z-index: 2;
    width: 100% !important;
    height: auto !important;
    min-height: 82px !important;
    padding: 12px 9px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 3px !important;
    background: rgba(241, 238, 228, .96) !important;
    border-color: rgba(5, 58, 41, .58) !important;
    transform: none !important;
  }

  .ocs-hero-object .node b {
    font-size: 1.32rem !important;
    line-height: 1 !important;
    color: #053a29 !important;
  }

  .ocs-hero-object .node small {
    font-size: .57rem !important;
    line-height: 1.25 !important;
    letter-spacing: .12em !important;
    color: #253d32 !important;
  }

  .ocs-object-note {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 3;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
    padding: 16px !important;
    transform: none !important;
  }

  .ocs-object-note small {
    font-size: .54rem !important;
    line-height: 1.3 !important;
  }

  .ocs-object-note strong {
    margin-top: 8px !important;
    font-size: clamp(1.1rem, 5.2vw, 1.38rem) !important;
    line-height: 1.12 !important;
    overflow-wrap: anywhere;
  }

  .ocs-object-message {
    position: relative !important;
    inset: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 3;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 14px 15px !important;
    transform: none !important;
  }

  .ocs-object-message small {
    font-size: .52rem !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
  }

  .ocs-object-message p {
    margin-top: 7px !important;
    font-size: .78rem !important;
    line-height: 1.48 !important;
    overflow-wrap: anywhere;
  }

  .ocs-hero-object__foot {
    min-height: 44px;
    padding: 9px 12px !important;
    gap: 8px !important;
    font-size: .49rem !important;
    line-height: 1.25 !important;
    letter-spacing: .09em !important;
    white-space: nowrap !important;
  }

  .ocs-hero-object__foot span {
    flex: 0 1 auto;
    min-width: 0;
  }

  .ocs-hero-object__foot i {
    min-width: 14px;
    margin-inline: 4px !important;
  }
}

@media (max-width: 390px) {
  .ocs-hero-object__map {
    padding: 11px !important;
    gap: 8px !important;
  }

  .ocs-hero-object .node {
    min-height: 74px !important;
    padding: 10px 8px !important;
  }

  .ocs-object-note,
  .ocs-object-message {
    padding: 13px !important;
  }

  .ocs-hero-object__head {
    font-size: .47rem !important;
    letter-spacing: .08em !important;
  }

  .ocs-hero-object__foot {
    font-size: .44rem !important;
    letter-spacing: .065em !important;
  }
}

@media (max-width: 340px) {
  .ocs-hero-object__head {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }

  .ocs-hero-object__head b {
    text-align: left;
  }

  .ocs-hero-object__foot {
    white-space: normal !important;
  }
}
