.aj-store-directory[hidden],
.aj-store-directory [hidden],
.aj-store-brand-bar[hidden] {
    display: none !important;
}

.aj-store-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: .5em 1em;
    margin-block: 1em;
    padding: .8em 0;
    border-block: 1px solid #d5d5d5;
}

.aj-store-filters label {
    display: grid;
    max-width: 100%;
    gap: .25em;
}

.aj-store-filters select {
    max-width: 100%;
    min-height: 2.5em;
    font: inherit;
}

.aj-store-feature-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .25em .75em;
    min-width: 0;
}

.aj-store-feature-filters label {
    display: inline-flex;
    align-items: center;
}

.aj-store-item figure {
    margin: 0;
}

.aj-store-item img {
    max-width: 100%;
    height: auto;
}

.aj-store-gallery {
    max-width: 48rem;
}

.aj-store-gallery-main img {
    display: block;
}

.aj-store-directory .aj-store-gallery-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: .5em;
    margin: .75em 0 0;
    padding: 0;
    list-style: none;
}

.aj-store-gallery-thumbs a {
    display: block;
    width: clamp(3rem, 14vw, 5rem);
    border: 2px solid transparent;
}

.aj-store-gallery-thumbs a[aria-current="true"] {
    border-color: currentColor;
}

.aj-store-gallery-thumbs img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.aj-data {
    background: #fff;
    border: 1px solid #eee7e1;
    border-radius: .65rem;
    padding: clamp(1rem, 3vw, 2rem);
    margin-block: 1.5em;
}
.aj-data-table-only { border: 0; padding: 0; margin: 0; }
.aj-data-kicker { font-size: .76rem; color: var(--aj-blue); font-weight: 700; letter-spacing: .12em; }
.aj-data-name { font-weight: 700; font-size: clamp(1.1rem, 2.2vw, 1.45rem); margin-block: .55rem 1rem; overflow-wrap: anywhere; }
.aj-data-name rt { font-weight: 500; font-size: .52em; }
.aj-data-status { color: var(--aj-coral); font-weight: 700; }
:is(.aj-data, .aj-store-card) .aj-data-table { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; margin: 0; }
.aj-data-row { display: grid; grid-template-columns: minmax(7rem, 23%) minmax(0, 1fr); }
.aj-data-row dt { background: var(--aj-peach); color: var(--aj-coral); font-weight: 700; padding: .55rem .75rem; border-radius: .28rem; }
.aj-data-row dd { margin: 0; padding: .55rem .9rem; overflow-wrap: anywhere; }
.aj-data-map, .aj-data-external, .aj-data-checked, .aj-data-navigation { text-align: center; }
.aj-store-actions {
    --aj-action-width: 9.75rem;
    display: grid;
    justify-items: center;
    gap: .5rem;
    margin-block: .9rem .65rem;
}
.aj-store-actions.has-two-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aj-store-actions .aj-store-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35em;
    min-height: 2.5rem;
    box-sizing: border-box;
    border: 1px solid var(--aj-action-border);
    border-radius: .4rem;
    padding: .4rem clamp(.35rem, 2vw, .8rem);
    font-size: .86rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    color: var(--aj-blue);
    cursor: pointer;
}
.aj-store-action .aj-store-icon { margin: 0; }
.aj-store-actions .aj-store-action:hover { border-color: currentColor; color: var(--aj-blue); }
.aj-store-actions .aj-store-action:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.aj-store-actions .aj-data-map-button { background: #fff; list-style: none; }
.aj-store-actions .aj-store-official { background: var(--aj-blue-light); }
.aj-data-map { width: 100%; }
.aj-store-actions.has-two-actions > .aj-data-map { grid-area: 1 / 1 / 2 / 3; }
.aj-store-actions.has-two-actions > .aj-data-map > summary {
    display: flex;
    width: min(var(--aj-action-width), calc(50% - .25rem));
    margin-inline: auto calc(50% + .25rem);
}
.aj-store-actions.has-two-actions > a.aj-store-action { width: min(var(--aj-action-width), 100%); }
.aj-store-actions.has-two-actions > a.aj-data-map-button { justify-self: end; }
.aj-store-actions.has-two-actions > .aj-store-official {
    grid-area: 1 / 2;
    justify-self: start;
    align-self: start;
    z-index: 1;
}
.aj-data-map-button::-webkit-details-marker { display: none; }
.aj-data-map:not([open]) .aj-data-map-close, .aj-data-map[open] .aj-data-map-open { display: none; }
.aj-data-map iframe { display: block; border: 0; width: 100%; height: auto; aspect-ratio: 16 / 9; min-height: 180px; margin-top: .75rem; }
.aj-data-external { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: .4rem .8rem; }
:is(.aj-data, .aj-store-card) .aj-data-checked {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: .3em;
    margin: .6rem 0 0;
    color: #555;
    font-size: .8rem;
    line-height: 1.5;
    text-align: center;
}
.aj-data-checked .aj-store-icon { align-self: center; margin: 0; }
.aj-data-navigation { margin-top: 1.35rem; }
.aj-data-navigation .aj-related-title {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: 0 auto .65rem;
    max-width: 44rem;
    color: #424b54;
    font-size: .9rem;
    font-weight: 700;
}
.aj-related-title::before,
.aj-related-title::after {
    content: "";
    flex: 1 1 0;
    border-top: 1px solid #ddd4c2;
}
.aj-data-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .55rem;
    max-width: 44rem;
    margin-inline: auto;
}
.aj-data-navigation a.aj-data-tag {
    display: inline-flex;
    flex: 1 1 12rem;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 2.75rem;
    max-width: 22rem;
    padding: .45rem .75rem;
    border: 0;
    border-radius: .35rem;
    background: var(--aj-tag-bg, #e4ebf0);
    color: var(--aj-tag-ink, #354552);
    text-decoration: none;
    font-size: .86rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}
.aj-data-tag.is-station { --aj-tag-bg: #d8ebfa; --aj-tag-ink: #145480; }
.aj-data-tag.is-priority, .aj-data-tag.is-facility { --aj-tag-bg: #f8dcd7; --aj-tag-ink: #842e27; }
.aj-data-tag.is-park { --aj-tag-bg: #dcefd3; --aj-tag-ink: #345a28; }
.aj-data-tag.is-public { --aj-tag-bg: #e2e7ec; --aj-tag-ink: #3b4852; }
.aj-data-tag.is-area { --aj-tag-bg: #f4ead5; --aj-tag-ink: #5c482c; }
.aj-data-navigation a.aj-data-tag:hover,
.aj-data-navigation a.aj-data-tag:focus-visible {
    color: var(--aj-tag-ink, #354552);
    text-decoration: none;
    box-shadow: 0 3px 7px rgba(30, 40, 50, .16);
}
.aj-data-navigation a.aj-data-tag:focus-visible { outline: 2px solid #14577c; outline-offset: 2px; }
@media (prefers-reduced-motion: no-preference) {
    .aj-data-navigation a.aj-data-tag { transition: transform .16s ease, box-shadow .16s ease; }
    .aj-data-navigation a.aj-data-tag:hover,
    .aj-data-navigation a.aj-data-tag:focus-visible { transform: translateY(-3px); }
}
.aj-data-navigation .aj-related-article { margin: .7rem 0 0; font-size: .86rem; }
.aj-data-compact { padding: .85rem; }
@media (max-width: 560px) {
    :is(.aj-data, .aj-store-card) .aj-data-table { gap: .85rem; }
    .aj-data-row { grid-template-columns: minmax(0, 1fr); }
    .aj-data-row dd { padding: .75rem .65rem 0; }
}
.aj-tag-area { margin-block: 2em; text-align: center; }
.aj-tag-area > .aj-data-navigation { margin-top: 0; }

.aj-data, .aj-store-card, .aj-tag-area, .aj-spot-nearby, .aj-spot-related {
    --aj-coral: #a63d26;
    --aj-peach: #fbe9e2;
    --aj-blue: #14577c;
    --aj-blue-light: #eaf4fb;
    --aj-action-border: #b9d3e2;
}
.aj-store-card, .aj-tag-area, .aj-spot-nearby, .aj-spot-related {
    margin-block: 1.5em;
    padding: clamp(1rem, 3vw, 1.6rem);
    background: #fff;
    border: 1px solid #eee7e1;
    border-radius: .65rem;
}
.aj-store-card > :first-child, .aj-tag-area > :first-child,
.aj-spot-nearby > :first-child, .aj-spot-related > :first-child { margin-top: 0; }
.aj-store-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-inline-end: .35em;
    vertical-align: -.12em;
    flex: none;
}
.aj-store-social {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .5rem;
    margin-block: .65rem;
}
.aj-store-social a {
    display: inline-grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    color: #fff;
    background: var(--aj-social-bg, #202326);
    border: 0;
    box-shadow: none;
    text-decoration: none;
    border-radius: 50%;
}
.aj-store-social .aj-store-icon { width: 1.25rem; height: 1.25rem; margin: 0; }
.aj-store-social .aj-social-instagram { --aj-social-bg: #bf285f; }
.aj-store-social .aj-social-facebook { --aj-social-bg: #345b9e; }
.aj-store-social .aj-social-youtube { --aj-social-bg: #ce2029; }
.aj-store-social .aj-social-line { --aj-social-bg: #00813e; }
.aj-store-social .aj-social-line .aj-store-icon { width: 1.6rem; height: 1.6rem; }
.aj-store-social .aj-line-letter { stroke: var(--aj-social-bg); }
.aj-store-social .aj-social-tiktok .aj-store-icon { filter: drop-shadow(-.8px 0 #37aeb7) drop-shadow(.8px 0 #de6190); }
.aj-store-social a:hover { color: #fff; text-decoration: none; filter: brightness(1.12); }
.aj-store-social a:focus-visible { outline: 2px solid var(--aj-social-bg, #202326); outline-offset: 2px; }
/* Preserve semantic headings while suppressing the theme decoration inside the directory. */
.aj-store-directory .aj-list-store-name {
    color: inherit !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 .8rem !important;
    font-size: clamp(1.1rem, 2.2vw, 1.45rem) !important;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: normal;
    overflow-wrap: anywhere;
}
.aj-store-directory .aj-list-store-name::before,
.aj-store-directory .aj-list-store-name::after {
    content: none !important;
    display: none !important;
}
.aj-store-areas {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: 0 0 .9rem;
}
.aj-store-areas span {
    color: var(--aj-blue, #14577c);
    background: var(--aj-blue-light, #eaf4fb);
    border-radius: 1rem;
    padding: .2rem .6rem;
    font-size: .8rem;
    font-weight: 600;
}
.aj-store-item-compact .aj-store-areas + .aj-data { margin-top: 0; }

@media (max-width: 360px) {
    .aj-store-actions.has-two-actions { grid-template-columns: minmax(0, 1fr); }
    .aj-store-actions.has-two-actions > .aj-data-map,
    .aj-store-actions.has-two-actions > .aj-store-official { grid-area: auto; }
    .aj-store-actions.has-two-actions > .aj-data-map > summary { width: min(var(--aj-action-width), 100%); margin-inline: auto; }
    .aj-store-actions.has-two-actions > a.aj-data-map-button,
    .aj-store-actions.has-two-actions > .aj-store-official { justify-self: center; }
}
