/* ObraChat: readable actions and proportional media. */
body.page main img {max-width:100%;}
body.page main :is(p,li) {line-height:1.65;overflow-wrap:break-word;}
body.page main :is(h1,h2,h3,h4) {text-wrap:balance;overflow-wrap:break-word;}
body.page main :is(.oc-unified-photo-hero,.oc-category-hero,.oc-article-hero) figure {min-width:0;overflow:hidden;border-radius:20px;}
body.page main :is(.oc-unified-photo-hero,.oc-category-hero,.oc-article-hero) figure img {display:block;width:100%!important;height:100%!important;aspect-ratio:3/2;object-fit:cover;object-position:center;}
body.page main :is(.category-image,.category-img-wrap,.article-image,.article-img) {overflow:hidden;}
body.page main :is(.category-image,.category-img-wrap,.article-image,.article-img) img {width:100%;height:100%;object-fit:cover;}
body.page main img.object-contain,body.page main :is(.store-buttons,.oc-stores) img,body.page main img[src*="badges/"],body.page main img[src*="badge_"] {object-fit:contain!important;aspect-ratio:auto;}
body.page main img.oc-image-fallback {object-fit:contain!important;background:#f1f5f3;padding:12px;}
body.page main :is(a[data-oc-action],button[data-oc-action],input[data-oc-action]) {display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.4rem;box-sizing:border-box!important;white-space:nowrap!important;text-overflow:clip!important;overflow:visible!important;max-width:100%!important;min-width:0!important;width:max-content;height:auto!important;min-height:44px!important;padding:12px 18px!important;font-size:15px!important;font-weight:600!important;line-height:1.25!important;letter-spacing:normal!important;flex-shrink:0;vertical-align:middle;}
body.page main [data-oc-action] :is(span,strong,em) {white-space:nowrap!important;word-break:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:inherit!important;}
body.page main [data-oc-action] :is(svg,i) {flex:0 0 auto;}
body.page main :is(.oc-actions,.oc-category-actions,.hero-actions,.content-card-actions,.oc-unified-hero-links) {flex-wrap:wrap!important;gap:12px;}
body.page main [data-oc-action]:focus-visible {outline:3px solid #b45309;outline-offset:3px;}
body.page main img[src*="panel.obrachat.com"],body.page main img[src*="gravatar.com"] {object-fit:contain!important;background:#fff;}
@media(max-width:640px) {
 body.page main :is(a[data-oc-action],button[data-oc-action],input[data-oc-action]) {font-size:14px!important;padding:12px 14px!important;max-width:100%!important;}
 body.page main :is(.oc-actions,.oc-category-actions,.hero-actions,.content-card-actions,.oc-unified-hero-links)>[data-oc-action] {flex:1 1 auto;}
 body.page main :is(.oc-unified-photo-hero,.oc-category-hero,.oc-article-hero) figure {aspect-ratio:3/2;}
 body.page main :is(p,li) {line-height:1.7;}
}
@media(prefers-reduced-motion:reduce) {body.page main [data-oc-action] {transition:none!important;}}

/* Calculator choices keep a single-line title and a separate readable explanation. */
body.page main :is(.oc-options-2,.oc-options-3,.oc-options-4) {grid-template-columns:repeat(auto-fit,minmax(min(100%,185px),1fr))!important;}
body.page main .oc-option {min-width:0!important;height:auto!important;overflow:visible!important;}
body.page main .oc-option-title {white-space:nowrap!important;font-size:14px!important;line-height:1.35!important;overflow:visible!important;text-overflow:clip!important;}
body.page main .oc-option-desc {white-space:normal!important;line-height:1.5!important;}

/* Compact, readable labels on service image cards across the site. */
body.page main .category-grid {align-items:stretch;}
body.page main .category-card {min-width:0!important;height:auto!important;padding:18px 12px!important;box-sizing:border-box;}
body.page main .category-card .category-title {
 font-family:Arial,Helvetica,sans-serif!important;
 font-size:15px!important;font-weight:600!important;line-height:1.4!important;
 letter-spacing:normal!important;text-transform:none!important;
 white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;
 text-wrap:pretty!important;max-width:100%!important;width:auto!important;
 height:auto!important;max-height:none!important;overflow:visible!important;
 text-overflow:clip!important;-webkit-line-clamp:unset!important;display:block!important;
 margin:0!important;
}
@media(max-width:640px) {
 body.page main .category-card {padding:16px 10px!important;}
 body.page main .category-card .category-title {font-size:14px!important;line-height:1.4!important;}
}

