.adpr-wrap{ width:100%; padding: 10px 0; }
/* Layout is theme-driven (My Account). We keep the plugin markup minimal. */
.adpr-main{ width: 100%; }

/* Filter bar card */
.adpr-filter-card{
  background:#fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  margin-bottom: 14px;
}

/* One-row layout on desktop; wraps cleanly on small screens */
.adpr-filter-bar{
  display:flex;
  gap: 12px;
  align-items:center;
  flex-wrap:wrap;
}

.adpr-filter-cell{ min-width: 0; }

/* Field labels */
.adpr-field-label{
  display:block;
  font-size: 12px;
  line-height: 1.2;
  margin: 0 0 6px 0;
  opacity: .75;
}

/* Intro block */
.adpr-intro{ margin: 0 0 14px 0; }
.adpr-intro h2{ margin: 0 0 8px 0; }
.adpr-intro p{ margin: 0; opacity: .85; max-width: 980px; }

/* Category dropdown cell */
.adpr-filter-cell--cat{ flex: 0 0 260px; }

/* Search cell: label then input + button inline */
.adpr-filter-cell--search{
  flex: 1 1 auto;
  display:flex;
  flex-direction: column;
  min-width: 280px;
}
.adpr-search-row{
  display:flex;
  gap: 10px;
  align-items:center;
}
.adpr-search-row .adpr-search{ flex: 1 1 auto; min-width: 0; }
.adpr-search-row .adpr-filter-submit{ flex: 0 0 auto; }

/* Remaining counter on the far right */
.adpr-filter-cell--remaining{ margin-left: auto; white-space: nowrap; align-self: flex-end; padding-bottom: 2px; }

/* Reduce theme spacing that stacks controls */
.adpr-filter-card .adpr-cat-select,
.adpr-filter-card .adpr-search,
.adpr-filter-card .button{
  margin-bottom: 0 !important;
}

/* Let Flatsome/WooCommerce theme styles handle input appearance; we only control sizing. */
.adpr-cat-select{ width: 100%; }

@media (min-width: 850px){
  .adpr-filter-bar{ flex-wrap: nowrap; }
  .adpr-filter-cell--cat{ flex: 0 0 280px; }
  .adpr-filter-cell--search{ min-width: 0; }
}

@media (max-width: 640px){
  .adpr-filter-cell--cat{ flex: 1 1 100%; }
  .adpr-filter-cell--search{ flex: 1 1 100%; }
  .adpr-search-row{ flex-wrap:wrap; }
  .adpr-search-row .adpr-filter-submit{ width: 100%; }
}

/* Hide Flatsome out-of-stock overlay on the request screen only */
.adpr-wrap .out-of-stock-label,
.adpr-wrap .box-image .out-of-stock-label,
.adpr-wrap .product-small .out-of-stock-label{ display:none !important; }

/* Hide sale badges / discount bubbles on the request screen only */
.adpr-wrap .badge-container,
.adpr-wrap .product-small .badge-container,
.adpr-wrap ul.products li.product .badge-container{ display:none !important; }

/* Hide Best Before / Expired badges injected by Best Before plugins on this page */
.adpr-wrap .bb-badge,
.adpr-wrap .bb-badge-container,
.adpr-wrap .bb-badge-wrapper{ display:none !important; }

/*
 * Request screen UX requirement:
 * The product tile image/title must NOT be clickable (only request buttons + filters).
 * We DO NOT use pointer-events:none for all anchors because that can cause click events
 * to fall through to theme-level handlers on parent elements. Instead, we set a default
 * cursor and rely on JS to cancel navigation in capture phase.
 */
.adpr-wrap ul.products li.product a,
.adpr-wrap .products .product-small a{
  cursor: default !important;
}

.adpr-wrap ul.products li.product a.adpr-btn,
.adpr-wrap .products .product-small a.adpr-btn{
  cursor: pointer !important;
}

.adpr-remaining{ font-size: 12px; opacity: .75; }

/* Messages + CTA */
.adpr-msg{ font-size: 12px; opacity: .8; text-align:left; max-width:none; margin-top: 10px; }
.adpr-msg.is-error{ opacity: 1; }

.adpr-wrap .adpr-btn.is-disabled,
.adpr-wrap .adpr-btn[aria-disabled="true"]{
  opacity: .55;
  pointer-events: none;
}

/* Keep Flatsome button styling; only prevent odd text transforms on this screen. */
.adpr-wrap .adpr-btn.button,
.adpr-wrap .adpr-filter-bar .button{
  text-transform: none;
}

/* Pagination */
.adpr-pagination{ display:flex; gap: 6px; justify-content:center; margin-top: 16px; flex-wrap:wrap; }
.adpr-pagination .page-numbers{ padding: 6px 10px; border: 1px solid rgba(0,0,0,.12); border-radius: 0; text-decoration:none; display:inline-block; }
.adpr-pagination .is-current{ background: var(--fs-color-primary); color:#fff; border-color: var(--fs-color-primary); }

/* Empty / locked */
.adpr-empty, .adpr-locked{ border: 1px dashed rgba(0,0,0,.25); border-radius: 16px; padding: 16px; background:#fff; }

/* Inline modal overlay (self-contained; avoids relying on Flatsome lightbox assets on My Account pages) */
.adpr-modal-overlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:999999;
  background: rgba(0,0,0,.6);
  padding: 18px;
  align-items:center;
  justify-content:center;
}
.adpr-modal-overlay.is-open{ display:flex; }
.adpr-modal{
  background:#fff;
  border-radius: 16px;
  width: 100%;
  max-width: 780px;
  max-height: 85vh;
  overflow:auto;
  position:relative;
  padding: 18px;
}
.adpr-modal-close{
  position:absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  max-width: 34px;
  max-height: 34px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  line-height: 1 !important;
  box-sizing: border-box;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
  color:#000;
  font-size: 22px;
  cursor:pointer;
  box-shadow: none;
  text-transform: none;
}
.adpr-modal-close:hover{ background: rgba(0,0,0,.03); }
.adpr-modal-close:focus{ outline: 2px solid rgba(0,0,0,.25); outline-offset: 2px; }
.adpr-modal-close:before,
.adpr-modal-close:after{ content: none !important; }
body.adpr-modal-open{ overflow:hidden; }

/* Infinite scroll / load more */
.adpr-wrap.adpr-infinite-scroll .adpr-pagination{ display:none !important; }
.adpr-loadmore-wrap{ display:flex; justify-content:center; margin: 16px 0 0; }
.adpr-loadmore.is-loading{ opacity: .7; pointer-events:none; }
.adpr-sentinel{ height: 1px; }

/* Modal inner content */
.adpr-lb{ background:#fff; border-radius: 16px; padding: 0; }
.adpr-lb__grid{ display:grid; grid-template-columns: 180px 1fr; gap: 16px; align-items:start; }
.adpr-lb__media img{ width: 100%; height: auto; display:block; border-radius: 14px; }
.adpr-lb__title{ font-size: 18px; font-weight: 700; line-height: 1.25; }
.adpr-lb__meta{ margin-top: 6px; font-size: 12px; opacity: .8; }
.adpr-lb__label{ display:block; margin-top: 14px; font-weight: 700; font-size: 12px; }
.adpr-var-select{ width: 100%; max-width: 420px; margin-top: 6px; }
.adpr-lb__actions{ margin-top: 14px; }
.adpr-lb__rrp{ margin-top: 10px; font-size: 13px; font-weight: 600; }
.adpr-lb__notice{ margin-top: 10px; padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(0,0,0,.12); background: rgba(0,0,0,.03); font-size: 12px; }
.adpr-lb__notice--error{ border-color: rgba(200,0,0,.25); background: rgba(200,0,0,.06); }

@media (max-width: 640px){
  .adpr-lb__grid{ grid-template-columns: 1fr; }
  .adpr-lb__media{ max-width: 220px; }
}

/* Per-tile feedback (inserted by JS) */
.adpr-tile-msg{ margin-top: 8px; }


/* Improved guest (not logged in) experience */
.adpr-locked.adpr-locked--guest{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:22px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  max-width:980px;
  margin:20px auto;
}
.adpr-locked--guest h2{margin:0 0 8px 0;}
.adpr-locked--guest p{margin:0 0 12px 0;}
.adpr-locked--guest .adpr-locked-actions{margin:0;}
.adpr-locked--guest .adpr-locked-actions .button{margin-bottom:0;text-transform:none;}
@media (max-width: 640px){
  .adpr-locked.adpr-locked--guest{border-radius:14px;padding:18px;}
}
