
/* Engagement module: Quick View + comments */
.instaui-qv{ position:fixed; inset:0; z-index:99999; display:none; }
.instaui-qv.is-open{ display:block; }
.instaui-qv-overlay{ position:absolute; inset:0; background:rgba(0,0,0,.55); backdrop-filter: blur(2px); }
.instaui-qv-sheet{
  position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:min(520px,100%); max-height:92vh;
  background:#fff; border-radius:18px 18px 0 0;
  overflow:hidden; box-shadow:0 -12px 40px rgba(0,0,0,.28);
  display:flex; flex-direction:column;
}
.instaui-qv-grip{ height:22px; display:flex; align-items:center; justify-content:center; background:#fff; }
.instaui-qv-grip:before{ content:""; width:44px; height:5px; border-radius:999px; background:rgba(0,0,0,.14); }
.instaui-qv-media{ width:100%; aspect-ratio:1/1; background:#f2f2f2; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.instaui-qv-media img{
  width:100%;
  height:100%;
  /* show full product image (no cropping) */
  object-fit: contain !important;
  background:#fff;
}
.instaui-qv-body{ padding:12px 14px 10px; overflow:auto; }
.instaui-qv-title{ font-weight:800; font-size:14px; margin:2px 0 6px; }
/* Price box (sale/regular/range) */
.instaui-qv-price{
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.06);
  background: rgba(0,0,0,.03);
  font-weight: 900;
}
.instaui-qv-price ins .woocommerce-Price-amount{ font-size: 1.18em; }
.instaui-qv-price del{ opacity: .52; }
.instaui-qv-short{ font-size:13px; line-height:1.65; color:rgba(0,0,0,.72); white-space:pre-line; margin:8px 0 10px; }
.instaui-likecount-line{ font-size:12.5px; color:rgba(0,0,0,.68); margin:6px 0 8px; }
.instaui-likecount-line strong{ font-weight:900; color:rgba(0,0,0,.82); }

.instaui-actionsbar{ display:flex; align-items:center; justify-content:space-between; padding:8px 12px; }
.instaui-actionsbar .left,.instaui-actionsbar .right{ display:flex; align-items:center; gap:8px; }

.instaui-iconbtn.is-liked{ color:#e0245e; }
.instaui-iconbtn.is-saved{ color:#19a15f; }

.instaui-commentbox{ border-top:1px solid rgba(0,0,0,.08); padding-top:10px; margin-top:8px; }
.instaui-comments{ display:flex; flex-direction:column; gap:10px; margin:10px 0 6px; }
.instaui-cmt{ display:flex; gap:10px; }
.instaui-cmt .av{ width:34px; height:34px; border-radius:999px; background:rgba(0,0,0,.08); flex:0 0 auto; overflow:hidden; }
.instaui-cmt .av img{ width:100%; height:100%; object-fit:cover; display:block; }
.instaui-cmt .meta{ flex:1; min-width:0; }
.instaui-cmt .name{ font-weight:800; font-size:12.5px; margin-bottom:2px; }
.instaui-cmt .txt{ font-size:13px; line-height:1.6; white-space:pre-line; color:rgba(0,0,0,.78); }
.instaui-cmt .tools{ margin-top:4px; display:flex; gap:10px; font-size:12px; color:rgba(0,0,0,.55); }
.instaui-cmt .tools button{ background:none; border:0; padding:0; color:inherit; font:inherit; }
.instaui-cmt.is-reply{ margin-right:40px; opacity:.98; }
.instaui-cmt.is-reply .av{ width:28px; height:28px; }

.instaui-cmtform{ display:flex; gap:10px; align-items:flex-end; margin-top:10px; }
.instaui-cmtform textarea{
  flex:1; min-height:42px; max-height:120px; resize:none;
  border:1px solid rgba(0,0,0,.12); border-radius:12px;
  padding:10px; font-family:inherit; font-size:13px; outline:none;
}
.instaui-cmtform button{ border:0; border-radius:12px; padding:10px 12px; font-weight:900; background:#111; color:#fff; }

.instaui-replying{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:8px 10px; border-radius:12px; background:rgba(247,183,178,.35);
  font-size:12.5px; color:rgba(0,0,0,.75);
}
.instaui-replying button{ background:none; border:0; padding:0; font-weight:900; }

.instaui-toast{
  position:fixed; left:50%; bottom:84px; transform:translateX(-50%);
  z-index:100000; background:rgba(17,17,17,.92); color:#fff;
  padding:10px 12px; border-radius:12px; font-size:13px;
  opacity:0; pointer-events:none; transition:opacity .2s ease;
  width:min(420px, calc(100% - 26px)); text-align:center;
}
.instaui-toast.is-on{ opacity:1; }

.instaui-card .instaui-inline-comments{ padding:10px 12px 6px; border-top:1px solid rgba(0,0,0,.08); }


/* --- Quick View v2 layout tweaks --- */
.instaui-qv-sheet{
  height: min(86vh, 720px);
}
.instaui-qv-media{
  aspect-ratio: auto;
  height: min(44vh, 420px);
}
.instaui-qv-body{
  flex: 1 1 auto;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 18px;
}
.instaui-qv-short{
  max-height: 5.2em;
  overflow: hidden;
}
.instaui-qv-short.is-expanded{
  max-height: none;
}
.instaui-qv-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  font-size: 12.5px;
  font-weight: 900;
}


/* --- Quick View v3: full-screen with margins + blur background --- */
.instaui-qv-overlay{
  background: rgba(0,0,0,.55);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  backdrop-filter: blur(10px) saturate(120%);
}

/* Use dynamic viewport units where supported, with safe-area insets for iOS */
.instaui-qv-sheet{
  left: 18px !important;
  right: 18px !important;
  top: calc(18px + env(safe-area-inset-top, 0px)) !important;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  transform: none !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

/* Remove the grip bar (still clickable close) but keep space tight */
.instaui-qv-grip{
  height: 16px !important;
}

/* Responsive media: smaller, never eats the whole screen */
.instaui-qv-media{
  height: min(34vh, 320px) !important;
  min-height: 180px !important;
  aspect-ratio: auto !important;
}

@supports (height: 1dvh){
  .instaui-qv-media{
    height: min(34dvh, 320px) !important;
  }
}

/* Body must scroll reliably on iOS Safari */
.instaui-qv-body{
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain;
  padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
}

/* Comments area: always visible and scrollable */
.instaui-commentbox{
  margin-bottom: 6px;
}


/* --- Quick View: description box + CTA --- */
.instaui-qv-descbox{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  padding: 10px 10px;
  background: rgba(255,255,255,.92);
  max-height: 190px;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
.instaui-qv-descbox .instaui-qv-features{ margin: 0; }
.instaui-feature-list{
  display:flex;
  flex-direction: column;
}
.instaui-feature-row{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px dashed rgba(0,0,0,.10);
  font-size: 13px;
  line-height: 1.55;
}
.instaui-feature-row:last-child{ border-bottom: 0; }
.instaui-feature-row .k{
  flex: 0 0 auto;
  max-width: 45%;
  font-weight: 900;
  color: rgba(0,0,0,.78);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.instaui-feature-row .v{
  flex: 1 1 auto;
  min-width: 0;
  color: rgba(0,0,0,.72);
  text-align: left;
  word-break: break-word;
}
html[dir="rtl"] .instaui-feature-row .v{ text-align: left; }

/* Key features typography: enforce single-line "key:value" to avoid RTL/iOS Safari quirks */
.instaui-feature-row.instaui-feature-row--kv{
  display: block;
  justify-content: initial;
}
.instaui-feature-row--kv .kv{
  display: block;
  font-weight: 900;
  color: rgba(0,0,0,.78);
  text-align: right;
  direction: rtl;
  unicode-bidi: plaintext;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

.instaui-qv-cta{
  margin-top: 10px;
  display:flex;
  gap: 10px;
}
.instaui-qv-buy{
  flex: 1 1 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 12px 14px;
  border-radius: 14px;
  background: #111;
  color: #fff;
  font-weight: 900;
  text-decoration:none;
}
.instaui-qv-full{
  flex: 0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 12px 14px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  font-weight: 900;
  text-decoration:none;
  color:#111;
}

/* --- Threaded comments --- */
.instaui-thread{
  display:flex;
  flex-direction: column;
  gap: 8px;
}
.instaui-replies{
  display:flex;
  flex-direction: column;
  gap: 8px;
  margin-right: 40px;
  padding-right: 10px;
  border-right: 2px solid rgba(0,0,0,.06);
}


/* --- Prevent long-press selection/callout on media (keep enabled for inputs) --- */
.instaui-grid-item,
.instaui-grid-item *,
.instaui-qv-trigger,
.instaui-qv-trigger *{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
.instaui-commentbox textarea,
.instaui-searchbar input,
.instaui-searchbar textarea{
  -webkit-user-select: text;
  user-select: text;
}
.instaui-grid-item img,
.instaui-qv-media img{
  -webkit-user-drag: none;
  user-drag: none;
  pointer-events: none;
}

/* Comment form sticky so it won't go under bottom nav */
.instaui-commentbox{
  position: relative;
}
.instaui-commentbox .instaui-comments{
  padding-bottom: 70px;
}
.instaui-commentbox .instaui-cmtform{
  position: sticky;
  bottom: 0;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 8px);
  z-index: 3;
}

/* Admin/User comment actions menu */
#instauiCmtMenu{
  position: fixed;
  inset: 0;
  z-index: 1000010;
  display: none;
}
#instauiCmtMenu.is-open{ display:block; }
#instauiCmtMenu .instaui-menu-overlay{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.55);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
#instauiCmtMenu .instaui-menu-sheet{
  position:absolute;
  left:18px;
  right:18px;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  background:#fff;
  border-radius: 18px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
#instauiCmtMenu .instaui-menu-sheet button{
  border:0;
  background:#fff;
  padding: 14px 16px;
  font-weight: 900;
  text-align:center;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
#instauiCmtMenu .instaui-menu-sheet button.danger{ color:#dc2626; }
#instauiCmtMenu .instaui-menu-sheet button:last-child{ border-bottom:0; }

/* comment menu button */
.instaui-cmt .tools .instaui-cmt-menu{
  border:0;
  background:transparent;
  font-size: 18px;
  line-height: 1;
  padding: 4px 6px;
  opacity:.8;
}


/* --- Quick View: ensure full-screen overlay and correct stacking --- */
#instauiQuickView{
  position: fixed;
  inset: 0;
  z-index: 1000005; /* above Stories viewer (1000003) */
  display: none;
}
#instauiQuickView.is-open{ display:block; }
html.instaui-modal-open, body.instaui-modal-open{
  overflow: hidden !important;
  height: 100% !important;
}

/* Fix: actions row layout + SVG sizing */
.instaui-qv-head{
  padding: 6px 10px 0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.instaui-qv-actions{
  display:flex;
  align-items:center;
  gap: 6px;
}
.instaui-qv-actions .instaui-iconbtn{
  width: 42px; height: 42px;
  border-radius: 12px;
  background: transparent;
}
.instaui-qv-actions .instaui-ico{
  display:grid;
  place-items:center;
  line-height: 0;
}
.instaui-qv-actions .instaui-ico svg{
  width: 24px; height: 24px;
  display:block;
}

/* ensure overlay covers everything (stories strip etc.) */
.instaui-qv-overlay{ position:absolute; inset:0; }

/* keep sheet above overlay */
.instaui-qv-sheet{ position:absolute; z-index: 1; }


/* --- Comments: sticky send form + scroll list --- */
.instaui-commentbox{
  position: relative;
}
.instaui-comments{
  max-height: 42vh;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 10px;
}
.instaui-cmtform{
  position: sticky;
  bottom: 0;
  background: #fff;
  padding-top: 8px;
  padding-bottom: 8px;
  border-top: 1px solid rgba(0,0,0,.08);
  z-index: 2;
}


/* --- Instagram-like carousel (Explore + Quick View) --- */
.instaui-carousel{ position:relative; width:100%; height:100%; }
.instaui-carousel-track{
  display:flex;
  height:100%;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width:none;
}
.instaui-carousel-track::-webkit-scrollbar{ display:none; }
.instaui-carousel-item{
  flex: 0 0 100%;
  height:100%;
  scroll-snap-align:start;
  position:relative;
}
.instaui-carousel-item img{
  width:100%;
  height:100%;
  /* show full product image */
  object-fit: contain !important;
  background:#fff;
  display:block;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.instaui-carousel-dots{
  position:absolute;
  left:0;
  right:0;
  bottom: 10px;
  display:flex;
  gap:6px;
  justify-content:center;
  pointer-events:auto;
}
.instaui-dot{
  width:6px;
  height:6px;
  border-radius:999px;
  border:none;
  padding:0;
  background: rgba(255,255,255,.55);
}
.instaui-dot.is-active{ background: rgba(255,255,255,.95); }

/* Make explore media square like Instagram */
.instaui-card-media{ aspect-ratio: 1 / 1; position:relative; overflow:hidden; display:block; }

/* Sticky comment input so send button never goes under bottom nav */
.instaui-commentbox{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.instaui-comments{
  max-height: min(38vh, 320px);
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px));
}
.instaui-cmtform{
  position: sticky;
  bottom: 0;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  z-index: 3;
}
