.sa-ot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.sa-ot-card{border:1px solid #ddd;border-radius:12px;overflow:hidden;background:#fff;color:#222;display:flex;flex-direction:column}.sa-ot-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}.sa-ot-content{padding:20px;display:flex;flex-direction:column;flex:1}.sa-ot-content h3{margin:0 0 12px;font-size:1.25rem;color:inherit}.sa-ot-content p{margin:0 0 12px}.sa-ot-city{font-size:.9rem}.sa-ot-price{font-weight:700;font-size:1.2rem}.sa-ot-link{margin-top:auto;display:inline-block;text-decoration:underline;font-weight:600;padding:8px 0}.sa-ot-link:focus-visible{outline:3px solid currentColor;outline-offset:3px}

.sa-ot-list [hidden]{display:none!important}.sa-ot-card{min-width:0}.sa-ot-content h3{overflow-wrap:anywhere}
.sa-ot-filter{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 12px}.sa-ot-filter label{font-weight:600}.sa-ot-filter select{font:inherit;color:#222;background:#fff;border:1px solid #777;border-radius:6px;padding:10px 14px;min-width:220px;max-width:100%}.sa-ot-city-select:focus-visible{outline:3px solid currentColor;outline-offset:3px}.sa-ot-count{font-size:.95rem;margin:12px 0}
@media(max-width:900px){.sa-ot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.sa-ot-grid{grid-template-columns:minmax(0,1fr);gap:20px}}

/* Body text and controls inherit the page font; h3 follows the theme's heading font. */
.sa-ot-list,.sa-ot-card,.sa-ot-content,.sa-ot-filter{font-family:inherit}
.sa-ot-list p,.sa-ot-list a,.sa-ot-list label,.sa-ot-list select,.sa-ot-list option{font-family:inherit!important}
