.ebc-stores,.ebc-store{max-width:1100px;margin:0 auto;font-family:inherit}
.ebc-stores__map{height:420px;border-radius:8px;margin-bottom:28px;background:#f2f2f2;position:relative;z-index:0;isolation:isolate}
.ebc-stores__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.ebc-card{border:1px solid #e5e5e5;border-radius:8px;padding:20px;background:#fff;display:flex;flex-direction:column}
.ebc-card__title{font-size:1.15rem;margin:0 0 12px}
.ebc-card__row{margin:0 0 8px}
.ebc-card__actions{display:flex;flex-wrap:nowrap;gap:10px;margin-top:auto;padding-top:14px}
.ebc-card__actions .ebc-btn{flex:1 1 0;min-width:0;padding:11px 8px;font-size:.92rem;line-height:1.2;display:flex;align-items:center;justify-content:center}
.ebc-btn{display:inline-block;padding:11px 18px;border-radius:4px;background:#000;color:#fff!important;text-decoration:none;font-weight:600;text-align:center;border:1px solid #000;min-height:44px;box-sizing:border-box}
.ebc-btn--ghost{background:#fff;color:#000!important}
.ebc-btn:hover{opacity:.85}
.ebc-hours-line{display:block}
.ebc-pending{color:#8a6d00}
.ebc-notice{background:#fff8e1;border:1px dashed #d4a800;padding:8px 12px;border-radius:4px;margin:12px 0}
.ebc-store__h2{font-size:1.1rem;margin:18px 0 8px}
.ebc-hours{border-collapse:collapse;width:100%;max-width:420px}
.ebc-hours th,.ebc-hours td{text-align:left;padding:6px 0;border-bottom:1px solid #eee;font-weight:400}
.ebc-hours th{font-weight:600;padding-right:16px}
.ebc-store__map{position:relative;z-index:0}
.ebc-store__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:36px;align-items:start}
.ebc-store__map iframe{display:block;width:100%;height:440px;border:0;border-radius:8px;margin:0}
.ebc-store .ebc-card__actions{margin-top:20px}
/* slider */
.ebc-slider{margin-bottom:24px}
.ebc-slider__stage{position:relative;background:transparent;border-radius:8px;overflow:hidden;touch-action:pan-y}
.ebc-slider__slide{display:none;width:100%}
.ebc-slider__slide.is-active{display:flex;align-items:center;justify-content:center}
.ebc-slider__img{max-width:100%;max-height:70vh;width:auto;height:auto;object-fit:contain;cursor:zoom-in;display:block;border-radius:8px}
.ebc-slider__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.ebc-slider__prev{left:10px}.ebc-slider__next{right:10px}
.ebc-slider__thumbs{display:flex;gap:8px;overflow-x:auto;padding:10px 0;scroll-snap-type:x proximity}
.ebc-slider__thumb{flex:0 0 auto;width:84px;height:64px;padding:0;border:2px solid transparent;border-radius:4px;overflow:hidden;background:none;cursor:pointer;opacity:.7;scroll-snap-align:start}
.ebc-slider__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ebc-slider__thumb.is-active{border-color:#000;opacity:1}
.ebc-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;touch-action:pan-y}
.ebc-lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}
.ebc-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:28px;width:48px;height:48px;border-radius:50%;cursor:pointer}
.ebc-lightbox .lb-close{top:14px;right:14px}.ebc-lightbox .lb-prev{left:14px}.ebc-lightbox .lb-next{right:14px}
.ebc-lightbox .lb-prev,.ebc-lightbox .lb-next{top:50%;transform:translateY(-50%)}
@media (max-width:600px){.ebc-stores__map{height:320px}.ebc-store__map iframe{height:300px}.ebc-slider__thumb{width:68px;height:52px}.ebc-card__actions .ebc-btn{font-size:.85rem;padding:10px 6px}}

/* ---- store locator (list page) ---- */
.ebc-locator{max-width:1180px;margin:0 auto}
.ebc-locator__bar{display:flex;gap:0;border:1px solid #000;border-radius:6px;overflow:hidden;max-width:520px;margin:0 auto 10px;background:#fff}
.ebc-locator__search{flex:1 1 auto;display:block;padding:6px 14px;min-width:0}
.ebc-locator__label{display:block;font-size:.72rem;color:#666;line-height:1.2}
.ebc-locator__search input{width:100%;border:0!important;outline:0;box-shadow:none!important;padding:2px 0!important;font-size:1rem;background:transparent;height:auto!important;min-height:0!important}
.ebc-locator__geo{flex:0 0 auto;border:0;border-left:1px solid #ddd;background:#fff;color:#0b5cd5;font-weight:600;padding:0 14px;cursor:pointer;font-size:.9rem;min-height:48px}
.ebc-locator__geo:hover{background:#f5f8ff}
.ebc-locator__status{text-align:center;min-height:1.2em;margin:0 0 10px;font-size:.9rem;color:#666}
.ebc-locator__tabs{display:none}
.ebc-locator__body{display:grid;grid-template-columns:400px 1fr;gap:24px;align-items:start}
.ebc-locator__list{height:640px;overflow-y:auto;border:1px solid #e5e5e5;border-radius:8px;background:#fff;scrollbar-width:thin;scrollbar-color:#000 #f2f2f2}
.ebc-locator__list::-webkit-scrollbar{width:8px}.ebc-locator__list::-webkit-scrollbar-thumb{background:#000;border-radius:8px}.ebc-locator__list::-webkit-scrollbar-track{background:#f2f2f2}
.ebc-locator__map{height:640px;border-radius:8px;background:#eee;position:relative;z-index:0;isolation:isolate}
.ebc-row{padding:18px 20px;border-bottom:1px solid #eee;cursor:pointer;transition:background .15s}
.ebc-row:last-of-type{border-bottom:0}
.ebc-row:hover,.ebc-row.is-active{background:#f7f7f7}
.ebc-row.is-active{box-shadow:inset 4px 0 0 #000}
.ebc-row__title{font-size:1.02rem;margin:0 0 8px;line-height:1.3}
.ebc-row__addr,.ebc-row__meta{margin:0 0 6px;line-height:1.45}
.ebc-row__addr a{color:inherit;text-decoration:none}.ebc-row__addr a:hover{text-decoration:underline}
.ebc-row__meta a{color:#0b5cd5}
.ebc-row__dist{margin-left:8px;color:#555}.ebc-row__dist:before{content:"\2022\00a0"}
.ebc-row__hours{font-size:.92rem;color:#444;margin-bottom:4px}
.ebc-row__actions{display:flex;gap:10px;margin-top:12px}
.ebc-row__actions .ebc-btn{flex:1 1 0;min-width:0;padding:9px 8px;font-size:.88rem;min-height:40px;display:flex;align-items:center;justify-content:center}
.ebc-locator__empty{padding:24px 20px;margin:0;color:#555}
.ebc-pin{width:34px;height:34px;background:#000;border:2px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 1px 4px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center}
.ebc-pin span{transform:rotate(45deg);color:#fff;font-weight:700;font-size:.85rem;line-height:1}
.ebc-pin.is-active{background:#c4002f}
.leaflet-div-icon.ebc-pin-wrap{background:none;border:0}
.ebc-popup a{display:inline-block;margin-top:6px}
@media (max-width:820px){
  .ebc-locator__body{display:block}
  .ebc-locator__tabs{display:flex;margin:0 -16px 0;border-bottom:1px solid #e5e5e5}
  .ebc-locator__tabs button{flex:1;background:none;border:0;border-bottom:3px solid transparent;padding:14px 0;font-size:1.05rem;cursor:pointer;color:#555}
  .ebc-locator__tabs button.is-active{color:#000;font-weight:700;border-bottom-color:#000}
  .ebc-locator__map{height:62vh;min-height:360px;border-radius:0;margin:0 -16px}
  .ebc-locator__list{height:auto;max-height:none;overflow:visible;border:0;border-radius:0;margin:0 -16px}
  .ebc-locator[data-view=map] .ebc-locator__list{display:none}
  .ebc-locator[data-view=list] .ebc-locator__map{display:none}
  .ebc-locator__bar{max-width:none}
  .ebc-row{padding:18px 16px}
}

/* theme renders the H1 inline after the breadcrumb ("Ballina › Title"); show it as a real centered title here */
body.ebc-locator-page .page-heading .col-md-12{text-align:left}
body.ebc-locator-page .page-heading{background:transparent!important;background-color:transparent!important}
body.ebc-locator-page .page-heading .breadcrumbs{display:none}
body.ebc-locator-page .page-heading .delimeter{display:none}
body.ebc-locator-page .page-heading .title{display:block;font-size:2.2rem;font-weight:600;line-height:1.2;text-transform:none;margin:0}
@media (max-width:600px){body.ebc-locator-page .page-heading .title{font-size:1.7rem}}

@media (max-width:820px){.ebc-store__cols{grid-template-columns:1fr;gap:20px}.ebc-store__map iframe{height:320px}}

/* long store titles: slightly smaller so they wrap neatly */
body.ebc-locator-page.page-child .page-heading .title{font-size:2rem}
@media (max-width:600px){body.ebc-locator-page.page-child .page-heading .title{font-size:1.5rem}}
