/* Minimal, theme-friendly defaults. Override with your own CSS using the .avs-* classes. */
.avs-faq { margin: 2em 0; }
.avs-faq-item { border-bottom: 1px solid rgba(0, 0, 0, .12); padding: .9em 0; }
.avs-faq-item summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1em; }
.avs-faq-item summary::-webkit-details-marker { display: none; }
.avs-faq-item summary::after { content: "+"; font-size: 1.4em; line-height: 1; transition: transform .2s; }
.avs-faq-item[open] summary::after { transform: rotate(45deg); }
.avs-faq-item summary h3 { margin: 0; font-size: 1.1em; line-height: 1.35; }
.avs-faq-answer p { margin: .7em 0 0; }
.avs-summary { border-left: 4px solid currentColor; padding: 1em 1.25em; margin: 1.5em 0; background: rgba(0, 0, 0, .04); border-radius: 6px; }
.avs-summary-title { display: block; text-transform: uppercase; letter-spacing: .08em; font-size: .8em; margin-bottom: .4em; }
.avs-summary p { margin: 0; }
.avs-nap { display: flex; flex-direction: column; gap: .25em; font-style: normal; }
.avs-map iframe { width: 100%; border: 0; border-radius: 8px; display: block; }
.avs-hours { list-style: none; margin: 0; padding: 0; }
.avs-review-button { display: inline-block; padding: .75em 1.4em; border-radius: 100px; background: #1a73e8; color: #fff !important; text-decoration: none !important; font-weight: 600; }
.avs-review-button:hover { background: #1557b0; }
.avs-locations { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.2em; }
.avs-location-card { border: 1px solid rgba(0, 0, 0, .12); border-radius: 10px; padding: 1.2em; }
.avs-location { margin-top: 2em; display: grid; gap: 1em; }
