.floorp-login{max-width:420px;margin:24px auto;padding:18px;border:1px solid #ddd;border-radius:14px;background:#fff}
.floorp-login h2{margin:0 0 10px}
.floorp-staff-post{max-width:640px;margin:24px auto;padding:18px;border:1px solid #ddd;border-radius:14px;background:#fff}
.floorp-staff-post button{padding:10px 14px;border-radius:10px;border:0;background:#111;color:#fff;cursor:pointer}
/* Events slider (scroll-snap) */
.floorp-events{margin:18px 0;}
.floorp-events-track{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  gap:12px;
  padding:6px 2px 10px;
}
.floorp-event-slide{
  flex:0 0 100%;
  scroll-snap-align:center;
}
.floorp-event-link{display:block;text-decoration:none;}
.floorp-event-link:focus{outline:2px solid rgba(255,255,255,.25);outline-offset:4px;border-radius:18px;}
.floorp-event-media{
  width:100%;
  aspect-ratio:3/2;
  border-radius:18px;
  overflow:hidden;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
}
.floorp-event-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
/* Desktop: show one slide with small peek */
@media (min-width: 960px){
  .floorp-event-slide{flex-basis: 72%;}
}
/* Mobile: show full image, no crop (contain). Height may vary. */
@media (max-width: 767px){
  .floorp-event-media{aspect-ratio:auto;}
  .floorp-event-media img{height:auto;object-fit:contain;background:#000;}
}

/* Top layout helper */
.floorp-home{display:block;}
@media (min-width: 960px){
  .floorp-home{display:flex;gap:24px;align-items:flex-start;}
  .floorp-home-main{flex:1 1 auto;min-width:0;}
  .floorp-home-side{flex:0 0 340px;min-width:0;}
}

/* Section heading (neutral) */
.floorp-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:18px 0 10px;}
.floorp-section-title{margin:0;font-size:18px;line-height:1.3;}
.floorp-more{font-size:13px;opacity:.85;text-decoration:none;}

/* Shop news list (neutral) */
.floorp-shop-news-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
.floorp-shop-news-item a{display:flex;gap:10px;text-decoration:none;}
.floorp-date{font-size:12px;opacity:.75;white-space:nowrap;}
.floorp-title{font-size:14px;}


/* Home layout */
.floorp-home-events{
  margin-bottom: 16px;
}

.floorp-home-columns{
  display: block;
}

.floorp-home-main,
.floorp-home-side{
  min-width: 0;
}

@media (min-width: 768px){
  .floorp-home-columns{
    display: flex;
    gap: 16px;
    align-items: flex-start;
  }
  .floorp-home-main{
    flex: 1 1 auto;
  }
  .floorp-home-side{
    flex: 0 0 340px;
  }
}

/* Section heading (minimal) */
.floorp-section-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
}

.floorp-section-title{
  margin: 0;
  font-size: 1.15em;
  line-height: 1.3;
}

/* v0.3.15 fix: home wrapper should not become flex; columns handle 2-col layout */
@media (min-width: 768px){
  .floorp-home{display:block;}
}


/* Mobile bottom bar */
.floorp-bottom-bar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: space-around;
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
  background: rgba(0,0,0,0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-top: 1px solid rgba(255,255,255,0.12);
}

.floorp-bottom-btn{
  flex: 1 1 0;
  text-decoration: none;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 6px 0;
  min-width: 0;
  opacity: 0.92;
}

.floorp-bottom-btn svg{
  width: 22px;
  height: 22px;
  fill: currentColor;
}

.floorp-bottom-logo{
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.floorp-bottom-logo img{
  max-height: 22px;
  max-width: 90px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.floorp-sr-only{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.floorp-bottom-label{
  font-size: 11px;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.floorp-bottom-disabled{
  opacity: 0.35;
  pointer-events: none;
}

/* show only on mobile */
@media (max-width: 767px){
  .floorp-bottom-bar{ display:flex; }
  body.floorp-has-bottom-bar{ padding-bottom: 70px; }
  body.admin-bar .floorp-bottom-bar{ bottom: 46px; }
}

/* Access */
.floorp-access-list{ margin:0; }
.floorp-access-row{ display:flex; gap:12px; padding:10px 0; border-bottom:1px solid rgba(0,0,0,.08); }
.floorp-access-row dt{ flex:0 0 5.5em; font-weight:600; }
.floorp-access-row dd{ margin:0; }

@media (max-width: 767px){
  .floorp-access-row{ display:block; }
  .floorp-access-row dt{ margin:0 0 4px; }
}

/* Floor+ nav (shortcode) */
.floorp-nav__list{list-style:none;margin:0;padding:0;}
.floorp-nav--inline .floorp-nav__list{display:flex;flex-wrap:wrap;gap:10px;}
.floorp-nav__link{text-decoration:none;}

