/*
 * Agent Ahead Core — styles for the Agent Ahead widgets and shortcodes.
 * Colors, fonts and button looks come from the --aac-* variables printed by
 * the plugin (from the published settings), so the template stays in charge
 * of layout and these blocks follow the brand.
 */
.aac-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.aac-empty { display: block; padding: 10px 12px; border: 1px dashed currentColor; border-radius: 6px; opacity: .7; font-size: 14px; }
.aac-icon { display: inline-block; width: 1.1em; height: 1.1em; flex: 0 0 auto; vertical-align: -.15em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Buttons rendered by the plugin (Contact Button widget, [aac_button]). */
.aac-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; text-decoration: none; cursor: pointer; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.aac-button { display: block; }

/* Contact list */
.aac-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: .55em; }
.aac-contact li { display: flex; align-items: flex-start; gap: .6em; margin: 0; }
.aac-contact .aac-icon { margin-top: .2em; color: var(--aac-color-secondary, currentColor); }
.aac-contact a { color: inherit; text-decoration: none; }
.aac-contact a:hover,
.aac-contact a:focus-visible { color: var(--aac-color-link-hover, inherit); text-decoration: underline; }

/* Social */
.aac-social { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5em; }
.aac-social li { margin: 0; }
.aac-social a { display: inline-grid; place-items: center; width: 2.5em; height: 2.5em; border: 1px solid currentColor; border-radius: 50%; color: inherit; }
.aac-social a:hover,
.aac-social a:focus-visible { background: var(--aac-color-primary, #333); border-color: var(--aac-color-primary, #333); color: var(--aac-color-background, #fff); }

/* Logo */
.aac-logo-link { display: inline-block; line-height: 0; }
.aac-logo { display: inline-block; line-height: 0; }
.aac-logo__img { display: block; width: var(--aac-logo-w, 180px); max-width: 100%; height: auto; }
.aac-logo__text { line-height: 1.2; font-family: var(--aac-font-heading, inherit); font-size: 1.4em; color: var(--aac-color-heading, inherit); }
@media (max-width: 767px) { .aac-logo__img { width: var(--aac-logo-w-m, 140px); } }

/* Agent card */
.aac-agent { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 1.5em; align-items: start; }
.aac-agent__photo { border-radius: 8px; overflow: hidden; }
.aac-agent__img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.aac-agent__name { margin: 0 0 .2em; font-family: var(--aac-font-heading, inherit); color: var(--aac-color-heading, inherit); }
.aac-agent__title { margin: 0 0 .8em; color: var(--aac-color-secondary, inherit); font-weight: 600; }
.aac-agent__bio p { margin: 0 0 .8em; }
.aac-agent__body > * + .aac-contact,
.aac-agent__body > * + .aac-social { margin-top: 1em; }
@media (max-width: 767px) { .aac-agent { grid-template-columns: 1fr; } .aac-agent__photo { max-width: 260px; } }

/* Brokerage */
.aac-brokerage { display: flex; flex-wrap: wrap; align-items: center; gap: .8em 1.2em; }
.aac-brokerage__logo { display: block; max-height: 56px; width: auto; }
.aac-brokerage__meta { margin: 0; font-size: .9em; }

/* Areas */
.aac-areas { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5em; }
.aac-areas li { margin: 0; padding: .35em .9em; border: 1px solid var(--aac-color-border, currentColor); border-radius: 999px; background: var(--aac-color-surface, transparent); }
.aac-areas a { color: inherit; text-decoration: none; }
.aac-areas a:hover,
.aac-areas a:focus-visible { text-decoration: underline; }

/* Team */
.aac-team { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1.5em; }
.aac-team__item { margin: 0; }
.aac-team__img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 8px; margin-bottom: .7em; }
.aac-team__name { margin: 0; font-family: var(--aac-font-heading, inherit); font-size: 1.15em; color: var(--aac-color-heading, inherit); }
.aac-team__title { margin: 0 0 .4em; font-size: .9em; opacity: .85; }
.aac-team__link { display: block; color: inherit; font-size: .95em; }

/* Elementor editor note inside our widgets */
.aac-el-note { font-size: 12px; line-height: 1.5; }
