/* Bradford Standard Divi 4 module helpers. Divi controls the actual design. */
.bs-divi-business-name__heading {
    margin: 0;
    padding: 0;
}
.bs-divi-business-logo img {
    display: block;
    height: auto;
    max-width: 100%;
}
.bs-divi-business-description .bs-business-description > :last-child,
.bs-divi-business-excerpt .bs-business-excerpt > :last-child {
    margin-bottom: 0;
}
.bs-divi-business-verification .bs-business-verification {
    display: inline-block;
}
.bs-divi-action-button.et_pb_button {
    display: inline-block;
}
.bs-divi-business-directory .bs-directory,
.bs-divi-business-category-grid .bs-category-grid {
    width: 100%;
}

/* Business claim workflow (v0.3.1). Divi can override these presentation defaults. */
.bs-business-claim {
    box-sizing: border-box;
}
.bs-business-claim *,
.bs-business-claim *::before,
.bs-business-claim *::after {
    box-sizing: border-box;
}
.bs-business-claim__heading {
    margin-top: 0;
}
.bs-business-claim__text {
    margin-bottom: 1em;
}
.bs-business-claim__cta-form {
    display: inline-block;
    margin: 0;
    padding: 0;
}
.bs-business-claim__button,
.bs-business-claim__submit {
    display: inline-block;
    cursor: pointer;
}
.bs-business-claim__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 20px;
}
.bs-business-claim__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.bs-business-claim__field--full,
.bs-business-claim__actions {
    grid-column: 1 / -1;
}
.bs-business-claim__field label {
    font-weight: 600;
}
.bs-business-claim__field input,
.bs-business-claim__field select,
.bs-business-claim__field textarea {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #c7c7c7;
    background: #fff;
    color: inherit;
    font: inherit;
}
.bs-business-claim__field textarea {
    min-height: 110px;
    resize: vertical;
}
.bs-business-claim__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}
.bs-business-claim__cancel {
    text-decoration: underline;
}
.bs-business-claim__notice,
.bs-business-claim__claimed {
    padding: 14px 16px;
    border: 1px solid #d7d7d7;
}
.bs-business-claim__notice span {
    display: block;
    margin-top: 4px;
}
.bs-business-claim__notice--success {
    border-color: #7ca582;
}
.bs-business-claim__notice--error {
    border-color: #c66;
    margin-bottom: 16px;
}
.bs-business-claim__honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
@media (max-width: 600px) {
    .bs-business-claim__form {
        grid-template-columns: 1fr;
    }
    .bs-business-claim__field--full,
    .bs-business-claim__actions {
        grid-column: auto;
    }
}

/* Business hours: structural only; Divi module design controls remain authoritative. */
.bs-business-hours { display: grid; gap: .45em; }
.bs-business-hours__row { display: grid; grid-template-columns: minmax(7rem, 1fr) minmax(0, 1.5fr); gap: 1rem; align-items: baseline; }
.bs-business-hours__label { font-weight: 600; }
.bs-business-hours__value { text-align: right; }
.bs-business-hours__note { display: block; font-size: .9em; opacity: .78; }
@media (max-width: 480px) {
  .bs-business-hours__row { grid-template-columns: 1fr; gap: .1em; }
  .bs-business-hours__value { text-align: left; }
}
