.ai-property-wrapper {
    max-width: var(--hhpai-max-width, 900px);
    margin: auto;
    padding: var(--hhpai-padding, 24px);
    font-family: var(--hhpai-font, inherit);
    font-size: var(--hhpai-body-size, 15px);
    color: var(--hhpai-text, #222);
    background: var(--hhpai-background, #fff);
    border: 1px solid var(--hhpai-border, #e6e6e6);
    border-radius: var(--hhpai-radius, 12px);
    box-shadow: var(--hhpai-shadow, 0 4px 18px rgba(15,23,42,.08));
    box-sizing: border-box;
}

.hhpai-widget-title {
    margin: 0 0 8px;
    color: var(--hhpai-text, #222);
    font-size: var(--hhpai-title-size, 28px);
    line-height: 1.2;
}

.hhpai-widget-intro {
    margin: 0 0 18px;
    color: var(--hhpai-muted, #666);
    font-size: var(--hhpai-body-size, 15px);
    line-height: 1.55;
}

.hhpai-search-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.hhpai-layout-horizontal .hhpai-search-controls { flex-wrap: nowrap; align-items: stretch; }
.hhpai-layout-horizontal .ai-search-input { flex: 1 1 auto; width: auto; }
.hhpai-layout-horizontal .ai-search-button,
.hhpai-layout-horizontal .ai-clear-button { margin-top: 0; white-space: nowrap; }

.hhpai-suggestions { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0 2px; }
.hhpai-suggestion { appearance: none; border: 1px solid var(--hhpai-border,#e6e6e6); background: var(--hhpai-card,#fff); color: var(--hhpai-text,#222); border-radius: 999px; padding: 7px 11px; font: inherit; font-size: 13px; cursor: pointer; }
.hhpai-suggestion:hover { border-color: var(--hhpai-primary,#4da6ff); color: var(--hhpai-primary,#4da6ff); }
.hhpai-animations .ai-card,
.hhpai-animations .property-cta,
.hhpai-animations .ai-contact-box,
.hhpai-animations .ai-buyer-box { animation: hhpaiReveal .28s ease both; }
@keyframes hhpaiReveal { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
.ai-status.is-loading::before { content: ''; display: inline-block; width: 13px; height: 13px; margin-right: 7px; border: 2px solid var(--hhpai-border,#ddd); border-top-color: var(--hhpai-primary,#4da6ff); border-radius: 50%; vertical-align: -2px; animation: hhpaiSpin .7s linear infinite; }
@keyframes hhpaiSpin { to { transform: rotate(360deg); } }

.ai-search-input {
    width: 100%;
    padding: 18px;
    flex: 1 0 100%;
    font-size: var(--hhpai-input-size, 18px);
    color: var(--hhpai-text, #222);
    background: var(--hhpai-card, #fff);
    border-radius: var(--hhpai-radius, 12px);
    border: 1px solid var(--hhpai-border, #ddd);
    box-sizing: border-box;
}

.ai-search-button,
.ai-clear-button {
    margin-top: 10px;
    padding: 12px 20px;
    font-size: var(--hhpai-button-size, 16px);
    cursor: pointer;
    color: #fff;
    border: none;
    border-radius: var(--hhpai-radius, 12px);
    font-weight: 600;
}

.ai-search-button {
    background: var(--hhpai-primary, #4da6ff);
}
.ai-search-button:hover { background: var(--hhpai-primary-hover, #2588e8); }

.ai-clear-button {
    background: var(--hhpai-secondary, #777);
    margin-left: 0;
}
.ai-status {
    margin-top: 12px;
    color: var(--hhpai-muted, #666);
    font-size: 14px;
}

.ai-divider {
    margin: 16px 0;
}

.ai-property-response {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.ai-card,
.property-cta,
.ai-contact-box,
.ai-buyer-box {
    background: var(--hhpai-card, #fff);
    border: 1px solid var(--hhpai-border, #e6e6e6);
    border-radius: var(--hhpai-radius, 12px);
    padding: 20px 22px;
    margin-bottom: 0;
    box-shadow: 0 5px 18px rgba(15,23,42,.06);
}

.ai-property-response .ai-card:first-child {
    border-left: 5px solid var(--hhpai-primary, #4da6ff);
    background: linear-gradient(135deg, var(--hhpai-card, #fff) 0%, var(--hhpai-accent, #eef7ff) 160%);
}

.ai-title {
    font-size: 21px;
    font-weight: 700;
    margin: 0 0 12px 0;
    color: var(--hhpai-text, #222);
    border-bottom: 1px solid var(--hhpai-border, #eee);
    padding-bottom: 10px;
    line-height: 1.25;
}

.ai-text {
    font-size: var(--hhpai-body-size, 15px);
    line-height: 1.68;
    color: var(--hhpai-text, #444);
}
.ai-text p {
    margin: 0 0 12px 0;
}

.ai-text ul,
.ai-text ol {
    margin: 8px 0 12px 20px;
    padding-left: 16px;
}

.ai-text li {
    margin-bottom: 7px;
}

.ai-text strong {
    color: var(--hhpai-text, #222);
    font-weight: 700;
}

.property-cta {
    background: var(--hhpai-accent, #eef7ff);
    border-color: var(--hhpai-border, #bcdcff);
}

.ai-buyer-box {
    background: var(--hhpai-accent, #f7fbff);
    border-color: var(--hhpai-border, #bcdcff);
}

.ai-contact-box {
    background: var(--hhpai-accent, #f9fbff);
    border-color: var(--hhpai-border, #dbeafe);
}

.property-cta h3,
.ai-contact-box h3,
.ai-buyer-box h3 {
    margin: 0 0 8px 0;
    line-height: 1.25;
}

.property-cta p,
.ai-contact-box p,
.ai-buyer-box p {
    margin: 0 0 8px 0;
    line-height: 1.45;
}

.property-cta a,
.ai-contact-box button,
.ai-buyer-box button {
    display: inline-block;
    margin: 4px 4px 4px 0;
    background: var(--hhpai-primary, #4da6ff);
    color: #fff;
    text-decoration: none;
    padding: 10px 14px;
    border-radius: var(--hhpai-radius, 8px);
    border: none;
    cursor: pointer;
    font-weight: 600;
}

.match-count {
    background: var(--hhpai-card, #fff);
    border-left: 4px solid var(--hhpai-primary, #4da6ff);
    padding: 10px 12px;
    margin: 8px 0;
    border-radius: var(--hhpai-radius, 8px);
}

.ai-contact-box input,
.ai-contact-box textarea,
.ai-buyer-box input,
.ai-buyer-box select {
    width: 100%;
    padding: 11px;
    margin: 6px 0;
    border-radius: var(--hhpai-radius, 8px);
    border: 1px solid var(--hhpai-border, #ccc);
    font-family: Arial, sans-serif;
    font-size: var(--hhpai-body-size, 14px);
    box-sizing: border-box;
}

.ai-contact-box textarea {
    min-height: 100px;
    resize: vertical;
}

.ai-contact-note,
.ai-buyer-note {
    font-size: 13px;
    color: var(--hhpai-muted, #666);
}

.ai-form-success {
    background: #eefaf0;
    border-left: 4px solid var(--hhpai-success, #28a745);
    padding: 10px 12px;
    margin-top: 8px;
    border-radius: var(--hhpai-radius, 8px);
}

.ai-form-error {
    background: #fff3f3;
    border-left: 4px solid var(--hhpai-error, #d9534f);
    padding: 10px 12px;
    margin-top: 8px;
    border-radius: var(--hhpai-radius, 8px);
}

@media(max-width: 700px) {
    .ai-property-wrapper { padding: min(var(--hhpai-padding,24px),18px); }
    .ai-search-input {
        font-size: var(--hhpai-mobile-input-size,16px);
    }

    .ai-search-button,
    .ai-clear-button,
    .property-cta a,
    .ai-contact-box button,
    .ai-buyer-box button {
        padding: 9px 11px;
        font-size: var(--hhpai-mobile-button-size,14px);
    }
    .hhpai-layout-horizontal .hhpai-search-controls { flex-wrap: wrap; }
    .hhpai-layout-horizontal .ai-search-input { flex-basis: 100%; width: 100%; }
    .hhpai-mobile-full-buttons .ai-search-button,
    .hhpai-mobile-full-buttons .ai-clear-button { width: 100%; margin-left: 0; }
}
