.religiosity-store .store-layout {display:grid; grid-template-columns:280px minmax(0,1fr); gap:28px; align-items:start;}
.religiosity-store .store-filters {min-width:0; position:sticky; top:100px;}
.religiosity-store .store-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;}
.religiosity-store .store-results {min-width:0;}
.religiosity-store .store-search {width:100%; max-width:650px;}
.religiosity-store .store-filter-group input:not([type=checkbox]) {width:100%; min-width:0; padding:11px 12px; border:1px solid #d7dce4; border-radius:8px; background:#fff; color:#111;}
.religiosity-store .store-filter-form {display:grid; gap:18px;}
.religiosity-store .store-filter-group label {display:block; margin-bottom:7px;}
.religiosity-store .religiosity-check {display:flex; align-items:center; gap:8px; font-weight:400;}
.religiosity-store .religiosity-check input {flex:0 0 auto; width:auto;}
.religiosity-apply {width:100%; justify-content:center;}
.religiosity-clear {display:block; text-align:center; color:#244e90; font-size:.9rem;}
.religiosity-store .store-results-header {gap:16px; flex-wrap:wrap;}
.religiosity-store .store-results-header h2 {font-size:1.35rem; margin-top:6px;}
.religiosity-store .store-order {flex-wrap:wrap;}
.religiosity-order-submit {padding:8px 12px; border:1px solid #d7dce4; border-radius:8px; background:#fff; color:#111;}
.religiosity-location-actions {display:flex; flex-wrap:wrap; gap:10px;}
.religiosity-hint {font-size:.85rem; line-height:1.5; color:#526071;}
.religiosity-store .religiosity-card {display:flex; flex-direction:column; min-width:0;}
.religiosity-store .store-product-body {flex:1;}
.religiosity-store .store-product-image {aspect-ratio:4/3; height:auto; overflow:hidden;}
.religiosity-store .store-product-image img {width:100%; height:100%; object-fit:cover;}
.religiosity-store .store-product-image img.religiosity-card-logo {object-fit:contain; background:#fff; padding:14px;}
.religiosity-store .store-product-placeholder {height:100%; min-height:160px;}
.religiosity-store .store-product-body h3 {font-size:1.1rem; line-height:1.4; overflow-wrap:anywhere;}
.religiosity-store .store-product-body h3 a {color:inherit; text-decoration:none;}
.religiosity-tradition {font-size:.82rem; font-weight:600; color:#244e90; margin-bottom:8px;}
.religiosity-card-meta {font-size:.85rem; color:#526071; margin:8px 0;}
.religiosity-card-description {font-size:.9rem; line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.religiosity-approximate {font-size:.8rem; color:#805400; background:#fff5de; padding:8px; border-radius:7px;}
.religiosity-card-footer {flex-wrap:wrap; gap:10px;}
.religiosity-classify {font-size:.85rem; color:#244e90;}
.religiosity-store .store-empty {grid-column:1/-1;}
.religiosity-store .store-mobile-toolbar,.religiosity-store .store-filter-close {display:none;}
.religiosity-store .store-filter-backdrop[hidden] {display:none!important;}
@media(max-width:1200px) {.religiosity-store .store-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:900px) {
 .religiosity-store .store-layout {grid-template-columns:minmax(0,1fr);}
 .religiosity-store .store-filters {position:static;}
 .religiosity-store.filters-enhanced .store-mobile-toolbar {display:flex; align-items:center; justify-content:space-between; gap:12px;}
 .religiosity-store.filters-enhanced .store-filters {display:none;}
 .religiosity-store.filters-open .store-filters {display:block; position:fixed; top:0; bottom:0; left:0; width:min(360px,90vw); z-index:11000; overflow:auto; padding:24px; background:#fff; color:#111; border-radius:0;}
 .religiosity-store.filters-open .store-filter-close {display:inline-flex;}
 .religiosity-store .store-filter-backdrop:not([hidden]) {display:block; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:10999;}
}
@media(max-width:580px) {.religiosity-store .store-grid {grid-template-columns:minmax(0,1fr);} .religiosity-store .store-hero h1 {font-size:1.9rem;} .religiosity-store .store-order {width:100%;}}
/* Painel independente dos estados/transformações do CSS da Loja. */
.religiosity-filter-dialog {display:none; position:fixed; inset:0 0 0 auto; margin:0; width:min(400px,94vw); max-width:94vw; height:100vh; height:100dvh; max-height:100vh; max-height:100dvh; padding:0; border:0; background:#fff; color:#111; overflow-y:auto; overscroll-behavior:contain; border-radius:0;}
.religiosity-filter-dialog[open] {display:block!important; visibility:visible!important; opacity:1!important; transform:none!important; z-index:2147483001;}
.religiosity-filter-dialog::backdrop {background:rgba(0,0,0,.5);}
.religiosity-filter-dialog .store-filters {display:block!important; position:static!important; inset:auto!important; width:100%!important; max-width:none!important; height:auto!important; min-height:100%; max-height:none!important; margin:0!important; padding:24px!important; border-radius:0!important; transform:none!important; visibility:visible!important; opacity:1!important; pointer-events:auto!important; box-sizing:border-box; overflow:visible!important; background:#fff; color:#111;}
.religiosity-filter-dialog .store-filter-close {display:inline-flex!important; position:static; width:40px; height:40px; align-items:center; justify-content:center; flex-shrink:0;}
.religiosity-filter-dialog .store-filters__header {display:flex; align-items:center; justify-content:space-between; gap:12px;}
.religiosity-filter-fallback-backdrop:not([hidden]) {display:block!important; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:2147483000;}
.religiosity-filter-fallback-backdrop[hidden] {display:none!important;}
.religiosity-location-compact {display:flex; align-items:center; gap:8px 14px; flex-wrap:wrap; margin:12px 0; padding:0;}
.religiosity-locate-small {display:inline-flex; align-items:center; gap:6px; padding:8px 10px; font-size:.82rem; line-height:1.2; border:1px solid #d7dce4; border-radius:8px; background:#fff; color:#244e90; cursor:pointer; min-height:36px;}
.religiosity-locate-small:disabled {opacity:.65; cursor:wait;}
.religiosity-manage {font-size:.82rem;}
.religiosity-location-compact #religiosity-location-status {font-size:.8rem; line-height:1.4; color:#526071; margin:0; flex:1 1 190px;}
#religiosity-location-help {width:100%; font-size:.8rem; color:#526071;}
#religiosity-location-help summary {cursor:pointer;}
#religiosity-location-help p {line-height:1.5; margin:8px 0;}
@media(max-width:900px) {
 main.religiosity-store.filters-enhanced .store-filters {display:none!important;}
 .religiosity-store .store-mobile-toolbar {margin:12px 0;}
 .religiosity-store .store-results-header h2 {font-size:1.15rem;}
 .religiosity-store .store-hero {padding-top:24px; padding-bottom:24px;}
 .religiosity-store .store-hero__content {gap:16px;}
 .religiosity-store .store-search {min-width:0;}
 .religiosity-store .store-search input {min-width:0; width:100%;}
 .religiosity-location-compact #religiosity-location-status {flex-basis:100%;}
}
.religiosity-store .religiosity-card {position:relative; cursor:pointer;}
.religiosity-card-link {position:absolute!important; inset:0; z-index:1; border-radius:inherit;}
.religiosity-card-link:focus-visible {outline:3px solid #244e90; outline-offset:3px;}
.religiosity-sr-only {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.religiosity-store .religiosity-card-footer {display:flex!important; visibility:visible!important; opacity:1!important; flex-wrap:wrap!important; gap:10px;}
.religiosity-store .religiosity-card-footer .store-product-view,.religiosity-store .religiosity-card-footer .religiosity-classify {display:inline-flex!important; visibility:visible!important; opacity:1!important; position:relative; z-index:2; align-items:center; min-height:36px;}
.religiosity-store .religiosity-card-distance {display:block!important; visibility:visible!important; opacity:1!important; font-size:.85rem; line-height:1.5; white-space:normal;}
.religiosity-access-mobile {display:none;}
@media(max-width:900px) {.religiosity-access-desktop {display:none;} .religiosity-access-mobile {display:inline;}}

.religiosity-location-compact #religiosity-location-status {display:block!important; visibility:visible!important; opacity:1!important; height:auto!important; max-height:none!important; color:#344454!important; overflow:visible!important; white-space:normal!important;}
