/* All frontend rules are isolated within the lves-* namespace. */
.lves-backdrop { position:fixed; inset:0; z-index:2147482000; background:rgba(31,24,28,.42); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s ease,visibility .2s; }
.lves-backdrop.lves-visible { opacity:1; visibility:visible; pointer-events:auto; }
.lves-dialog { --lves-accent:#892940; font-family:inherit; position:fixed; z-index:2147482001; display:block; box-sizing:border-box; direction:rtl; text-align:right; background:#fff; color:#30282c; box-shadow:0 20px 80px rgba(38,16,23,.20); visibility:hidden; opacity:0; pointer-events:none; font-size:14px; line-height:1.85; }
.lves-dialog *, .lves-dialog *::before, .lves-dialog *::after { box-sizing:border-box; }
.lves-dialog button, .lves-dialog textarea { font:inherit; letter-spacing:normal; }
.lves-dialog button { cursor:pointer; }
.lves-dialog button:focus-visible, .lves-dialog textarea:focus-visible { outline:2px solid var(--lves-accent); outline-offset:2px; }
.lves-dialog.lves-visible { visibility:visible; opacity:1; pointer-events:auto; }
.lves-grab { display:none; }
.lves-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.lves-brand strong { color:var(--lves-accent); font-size:17px; }
.lves-brand span { font-size:11px; color:#9c8e94; }
.lves-close { border:0!important; background:#f8f5f6!important; color:#766a70!important; border-radius:50%!important; width:32px; height:32px; line-height:28px; font-size:24px!important; padding:0!important; display:grid; place-items:center; }
.lves-heading { font:inherit; font-weight:800; font-size:20px; line-height:1.65; color:#30282c; margin:8px 0 5px; }
.lves-sub { margin:0 0 14px; color:#81767b; font-size:13px; }
.lves-options { display:grid; gap:8px; }
.lves-option { display:flex; align-items:center; gap:10px; width:100%; min-height:42px; padding:10px 12px!important; background:#fff!important; border:1px solid #eee5e8!important; border-radius:9px!important; color:#45383f!important; font-size:13px!important; font-weight:400!important; line-height:1.6!important; text-align:right!important; box-shadow:none!important; }
.lves-option:hover { background:#fdf9fa!important; border-color:#cfa3b0!important; }
.lves-radio { width:16px; height:16px; border:1.5px solid #bcadb3; border-radius:50%; flex-shrink:0; }
.lves-footnote { margin:12px 0 0; color:#aa9da3; font-size:11px; text-align:center; }
.lves-tick { display:grid; place-items:center; width:43px; height:43px; border-radius:50%; background:#fbf0f3; color:var(--lves-accent); font-size:24px; margin:4px 0 15px; }
.lves-followtext { color:#70666b; font-size:13px; line-height:2.05; margin:8px 0 17px; }
.lves-notice { padding:12px; border-radius:8px; background:#fbf4f6; color:#795665; font-size:12px; line-height:1.9; margin:0 0 15px; }
.lves-cta { display:block; width:100%; padding:12px!important; border-radius:9px!important; border:0!important; background:var(--lves-accent)!important; color:#fff!important; font-size:14px!important; font-weight:700!important; text-align:center!important; min-height:44px; box-shadow:none!important; }
.lves-cta:hover { filter:brightness(.91); }
.lves-later { display:block; width:100%; padding:11px!important; margin-top:6px; background:transparent!important; border:0!important; color:#80747a!important; font-size:12px!important; box-shadow:none!important; }
.lves-textarea { width:100%; min-height:76px; padding:12px!important; margin:0 0 12px; border:1px solid #e9dde2!important; border-radius:8px!important; color:#30282c!important; background:white!important; resize:vertical; }
body.lves-open { overflow:hidden!important; }
@media(min-width:768px) {
  .lves-dialog { top:50%; left:50%; width:min(460px,calc(100vw - 40px)); max-height:88vh; overflow:auto; border-radius:16px; padding:22px 25px; transform:translate(-50%,-47%); transition:transform .2s ease,opacity .2s ease,visibility .2s; }
  .lves-dialog.lves-visible { transform:translate(-50%,-50%); }
}
@media(max-width:767px) {
  .lves-dialog { left:0; right:0; bottom:0; width:100%; max-height:min(87dvh,760px); overflow-y:auto; overscroll-behavior:contain; border-radius:22px 22px 0 0; padding:12px 19px calc(18px + env(safe-area-inset-bottom)); transform:translateY(110%); transition:transform .27s cubic-bezier(.2,.8,.3,1),opacity .27s ease,visibility .27s; }
  .lves-dialog.lves-visible { transform:translateY(0); }
  .lves-grab { display:block; width:38px; height:4px; border-radius:4px; background:#e1dbdd; margin:0 auto 12px; }
  .lves-top { margin-bottom:7px; }
  .lves-heading { font-size:18px; }
  .lves-sub { font-size:12px; }
  .lves-option { font-size:12px!important; min-height:40px; padding:9px 11px!important; }
}
@media(prefers-reduced-motion:reduce) { .lves-dialog,.lves-backdrop { transition:none; } }

/* Mobile-only, non-modal, opt-in survey invitation (v0.3.1). */
.lves-teaser { --lves-accent:#892940; box-sizing:border-box; position:fixed; z-index:2147481995; right:14px; bottom:calc(16px + env(safe-area-inset-bottom)); width:min(350px,calc(100vw - 28px)); background:#fff; color:#30282c; border:1px solid #eadfe3; border-radius:12px; box-shadow:0 7px 28px rgba(38,16,23,.16); padding:13px 14px; direction:rtl; text-align:right; font-family:inherit; font-size:13px; line-height:1.7; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(15px); transition:transform .2s ease,opacity .2s ease,visibility .2s; }
.lves-teaser *, .lves-teaser *::before, .lves-teaser *::after { box-sizing:border-box; }
.lves-teaser.lves-teaser-visible { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
.lves-teaser-head { display:flex; align-items:center; justify-content:space-between; gap:9px; }
.lves-teaser-title { color:#30282c; font-weight:800; font-size:13px; }
.lves-teaser-close { flex:0 0 29px; height:29px; border:0!important; background:#f6f1f3!important; color:#766a70!important; border-radius:7px!important; font:inherit!important; font-size:21px!important; line-height:22px!important; padding:0!important; display:grid; place-items:center; cursor:pointer; box-shadow:none!important; }
.lves-teaser-text { margin:5px 0 11px!important; padding:0!important; color:#70666b; font-size:12px; line-height:1.8; }
.lves-teaser-action { display:block; border:0!important; background:var(--lves-accent)!important; color:#fff!important; border-radius:7px!important; padding:8px 16px!important; font:inherit!important; font-size:12px!important; font-weight:700!important; min-height:37px; cursor:pointer; box-shadow:none!important; }
.lves-teaser button:focus-visible { outline:2px solid var(--lves-accent); outline-offset:2px; }
@media(min-width:768px) { .lves-teaser { display:none!important; } }
@media(prefers-reduced-motion:reduce) { .lves-teaser { transition:none; } }
