/* css/promo.css */
/* R23A · "Create with Weesify" promo + share dialogs and corner chips (x-promo.*). Self-contained: public pages do not
   load the app tokens, so the palette is local custom properties (Weesify brand values). Logical properties (RTL). */
.wpr-dialog, .wpr-chip {
    --wpr-ink: #0E1A15; --wpr-ink-2: #4B5B53; --wpr-bg: #FFFFFF; --wpr-bg-2: #F3F7F4; --wpr-line: rgba(14, 26, 21, .1);
    --wpr-green: #0BC284; --wpr-lime: #C2F45B; --wpr-grad: linear-gradient(135deg, #C2F45B 0%, #25D695 55%, #0BC284 100%);
    --wpr-ease: cubic-bezier(.2, .8, .2, 1);
}
@media (prefers-color-scheme: dark) {
    .wpr-dialog { --wpr-ink: #EEF5F0; --wpr-ink-2: #A6B5AC; --wpr-bg: #111915; --wpr-bg-2: #1A241F; --wpr-line: rgba(238, 245, 240, .12); }
}
/* :dark on the components pins the page's own theme instead of the device's. */
.wpr-dialog.wpr-dark { --wpr-ink: #EEF5F0; --wpr-ink-2: #A6B5AC; --wpr-bg: #111915; --wpr-bg-2: #1A241F; --wpr-line: rgba(238, 245, 240, .12); }
.wpr-dialog.wpr-light { --wpr-ink: #0E1A15; --wpr-ink-2: #4B5B53; --wpr-bg: #FFFFFF; --wpr-bg-2: #F3F7F4; --wpr-line: rgba(14, 26, 21, .1); }
html.wpr-lock { overflow: hidden; }

/* ---- corner chips (logo entry, share) ---- */
.wpr-corner { position: fixed; inset-block-start: max(12px, env(safe-area-inset-top)); z-index: 40; }
.wpr-corner.wpr-start { inset-inline-start: max(12px, env(safe-area-inset-left)); }
.wpr-corner.wpr-end { inset-inline-end: max(12px, env(safe-area-inset-right)); }
.wpr-chip {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-block-size: 44px; min-inline-size: 44px;
    padding-block: 0; padding-inline: 12px 14px; border-radius: 999px; border: 1px solid transparent; cursor: pointer;
    font: 650 14px/1 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: -.01em;
    -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4);
    box-shadow: 0 6px 20px -8px rgba(0, 0, 0, .35); transition: transform .2s var(--wpr-ease), box-shadow .2s, background-color .2s;
}
.wpr-chip-dark { background: rgba(14, 26, 21, .72); color: #fff; border-color: rgba(255, 255, 255, .14); }
.wpr-chip-light { background: rgba(255, 255, 255, .82); color: #0E1A15; border-color: rgba(14, 26, 21, .1); }
.wpr-chip:hover { transform: translateY(-1px); box-shadow: 0 10px 26px -10px rgba(0, 0, 0, .45); }
.wpr-chip:focus-visible { outline: 3px solid var(--wpr-green); outline-offset: 2px; }
.wpr-chip-mark { inline-size: 20px; block-size: 16px; flex: none; }
.wpr-chip-light .wpr-chip-mark:not(.wpr-sharebtn *) { color: var(--wpr-green); }
.wpr-chip-dark .wpr-chip-mark { color: var(--wpr-lime); }
.wpr-sharebtn { padding-inline: 0; inline-size: 44px; }
.wpr-sharebtn .wpr-chip-mark { inline-size: 19px; block-size: 19px; color: currentColor; }
.wpr-compact { min-block-size: 36px; min-inline-size: 36px; font-size: 12.5px; padding-inline: 9px 11px; }
.wpr-compact.wpr-sharebtn { inline-size: 40px; min-block-size: 40px; padding-inline: 0; }
.wpr-compact .wpr-chip-l { display: none; }
.wpr-compact:not(.wpr-sharebtn) { padding-inline: 0; inline-size: 40px; min-block-size: 40px; }
@media (max-width: 520px) { .wpr-chip:not(.wpr-sharebtn) .wpr-chip-l { font-size: 13px; } }

/* ---- dialog shell ---- */
.wpr-dialog {
    padding: 0; border: 0; background: transparent; color: var(--wpr-ink); max-inline-size: min(420px, calc(100vw - 24px));
    inline-size: 100%; max-block-size: calc(100dvh - 24px); margin: auto; overflow: visible;
    font: 400 15px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
}
.wpr-dialog::backdrop { background: rgba(6, 12, 9, .55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.wpr-dialog[open] .wpr-sheet { animation: wpr-in .36s var(--wpr-ease) both; }
.wpr-dialog[open]::backdrop { animation: wpr-fade .3s ease both; }
@keyframes wpr-in { from { opacity: 0; transform: translateY(18px) scale(.97); } }
@keyframes wpr-fade { from { opacity: 0; } }
.wpr-sheet {
    position: relative; background: var(--wpr-bg); border-radius: 26px; overflow: auto; max-block-size: calc(100dvh - 24px);
    box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .5), 0 0 0 1px var(--wpr-line);
}
.wpr-x {
    position: absolute; inset-block-start: 10px; inset-inline-end: 10px; z-index: 3; inline-size: 40px; block-size: 40px;
    display: grid; place-items: center; border-radius: 999px; border: 0; cursor: pointer; color: var(--wpr-ink);
    background: color-mix(in srgb, var(--wpr-bg) 80%, transparent);
}
.wpr-x svg { inline-size: 18px; block-size: 18px; }
.wpr-x:focus-visible, .wpr-cta:focus-visible, .wpr-sbtn:focus-visible, .wpr-t:focus-visible, .wpr-qr summary:focus-visible { outline: 3px solid var(--wpr-green); outline-offset: 2px; }

/* ---- promo body ---- */
.wpr-body { padding: 18px 26px 24px; text-align: center; }
.wpr-brand { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 8px; font-weight: 700; font-size: 13px; color: var(--wpr-ink-2); letter-spacing: .02em; }
.wpr-brand-mark { inline-size: 18px; block-size: 14px; color: var(--wpr-green); }
.wpr-title { margin: 0 0 8px; font-size: clamp(22px, 5.6vw, 27px); line-height: 1.15; letter-spacing: -.025em; font-weight: 780; text-wrap: balance; }
.wpr-lead { margin: 0 auto 14px; color: var(--wpr-ink-2); max-inline-size: 32ch; text-wrap: pretty; }
.wpr-points { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 14px; font-size: 13px; color: var(--wpr-ink-2); }
.wpr-points li { display: inline-flex; align-items: center; gap: 5px; }
.wpr-points svg { inline-size: 15px; block-size: 15px; color: var(--wpr-green); }
.wpr-cta {
    display: flex; align-items: center; justify-content: center; gap: 8px; min-block-size: 52px; border-radius: 999px;
    background: var(--wpr-grad); color: #062016; font-weight: 750; font-size: 16px; text-decoration: none;
    box-shadow: 0 12px 26px -12px rgba(11, 194, 132, .8); transition: transform .2s var(--wpr-ease), box-shadow .2s;
}
.wpr-cta svg { inline-size: 18px; block-size: 18px; transition: transform .2s var(--wpr-ease); }
.wpr-cta:hover { transform: translateY(-1px); box-shadow: 0 16px 30px -12px rgba(11, 194, 132, .9); }
.wpr-cta:hover svg { transform: translateX(3px); }
[dir="rtl"] .wpr-cta svg { transform: scaleX(-1); }
.wpr-fine { margin: 10px 0 0; font-size: 12px; color: var(--wpr-ink-2); }

/* ---- spot art (prefix promo-*: resources/views/marketing/art/promo-spot.blade.php) ---- */
.wpr-art { position: relative; block-size: 176px; overflow: hidden; background: radial-gradient(120% 90% at 50% 0%, rgba(194, 244, 91, .32), transparent 60%), var(--wpr-bg-2); }
.wpr-art-glow { position: absolute; inset: auto 15% -60px; block-size: 120px; border-radius: 50%; background: var(--wpr-grad); filter: blur(40px); opacity: .45; }
.wpr-art-phone {
    position: absolute; inset-inline-start: 50%; inset-block-start: 22px; inline-size: 116px; block-size: 190px; margin-inline-start: -58px;
    border-radius: 22px; background: var(--wpr-bg); box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .35), 0 0 0 1px var(--wpr-line);
    display: flex; flex-direction: column; align-items: center; padding-block-start: 14px; gap: 7px;
}
.wpr-art-av { inline-size: 34px; block-size: 34px; border-radius: 50%; background: var(--wpr-grad); }
.wpr-art-name { inline-size: 54px; block-size: 7px; border-radius: 4px; background: var(--wpr-line); margin-block-end: 3px; }
.wpr-art-card { display: flex; align-items: center; gap: 6px; inline-size: 92px; block-size: 22px; border-radius: 8px; padding-inline: 6px; background: var(--wpr-bg-2); box-shadow: 0 0 0 1px var(--wpr-line); }
.wpr-art-card i { inline-size: 11px; block-size: 11px; border-radius: 4px; background: var(--wpr-green); opacity: .8; }
.wpr-art-card b { flex: 1; block-size: 5px; border-radius: 3px; background: var(--wpr-line); }
.wpr-a2 i { background: #7C6CF2; } .wpr-a3 i { background: #FF8A4C; }
.wpr-art-chip {
    position: absolute; display: grid; place-items: center; inline-size: 40px; block-size: 40px; border-radius: 13px;
    background: var(--wpr-bg); color: var(--wpr-green); box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .35), 0 0 0 1px var(--wpr-line);
}
.wpr-art-chip svg { inline-size: 20px; block-size: 20px; }
.wpr-chip-t { inset-inline-start: calc(50% - 128px); inset-block-start: 48px; color: #7C6CF2; }
.wpr-chip-c { inset-inline-end: calc(50% - 130px); inset-block-start: 36px; }
.wpr-chip-h { inset-inline-end: calc(50% - 106px); inset-block-start: 112px; color: #FF5C7A; inline-size: 34px; block-size: 34px; }
.wpr-art-spark { position: absolute; inline-size: 7px; block-size: 7px; border-radius: 50%; background: var(--wpr-lime); }
.wpr-s1 { inset-inline-start: 22%; inset-block-start: 28px; } .wpr-s2 { inset-inline-end: 20%; inset-block-start: 128px; background: var(--wpr-green); } .wpr-s3 { inset-inline-start: 30%; inset-block-start: 140px; }
/* Animations only while open (.is-on); transform/opacity only. */
.wpr-art.is-on .wpr-art-phone { animation: wpr-rise .6s var(--wpr-ease) both; }
.wpr-art.is-on .wpr-art-card { animation: wpr-slide .5s var(--wpr-ease) both; }
.wpr-art.is-on .wpr-a1 { animation-delay: .18s; } .wpr-art.is-on .wpr-a2 { animation-delay: .26s; } .wpr-art.is-on .wpr-a3 { animation-delay: .34s; }
.wpr-art.is-on .wpr-art-chip { animation: wpr-pop .5s var(--wpr-ease) both, wpr-float 4.5s ease-in-out .6s infinite; }
.wpr-art.is-on .wpr-chip-c { animation-delay: .3s, .9s; } .wpr-art.is-on .wpr-chip-h { animation-delay: .45s, 1.1s; }
.wpr-art.is-on .wpr-art-spark { animation: wpr-twinkle 2.4s ease-in-out infinite; }
.wpr-art.is-on .wpr-s2 { animation-delay: .8s; } .wpr-art.is-on .wpr-s3 { animation-delay: 1.4s; }
.wpr-art:hover .wpr-art-phone { transform: translateY(-4px); transition: transform .3s var(--wpr-ease); }
@keyframes wpr-rise { from { opacity: 0; transform: translateY(40px); } }
@keyframes wpr-slide { from { opacity: 0; transform: translateX(-14px); } }
@keyframes wpr-pop { from { opacity: 0; transform: scale(.6); } }
@keyframes wpr-float { 50% { transform: translateY(-6px); } }
@keyframes wpr-twinkle { 50% { opacity: .2; transform: scale(.6); } }

/* ---- share panel ---- */
.wpr-share .wpr-sheet { padding: 20px 20px 22px; }
.wpr-share-h { margin: 2px 0 14px; font-size: 19px; font-weight: 750; letter-spacing: -.02em; }
.wpr-card { border-radius: 18px; overflow: hidden; background: var(--wpr-bg-2); box-shadow: 0 0 0 1px var(--wpr-line); margin-block-end: 14px; }
.wpr-card-img { position: relative; aspect-ratio: 1200 / 630; background: var(--wpr-grad); }
.wpr-card-img img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; z-index: 1; }
.wpr-card-fb { position: absolute; inset: 0; display: grid; place-items: center; font-size: 46px; font-weight: 800; color: rgba(6, 32, 22, .82); }
.wpr-card-meta { display: grid; gap: 2px; padding: 10px 14px 12px; }
.wpr-card-t { font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wpr-card-u { font-size: 13px; color: var(--wpr-ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wpr-share-row { display: flex; gap: 8px; margin-block-end: 12px; }
.wpr-sbtn {
    flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-block-size: 48px; border-radius: 14px;
    border: 0; cursor: pointer; font: 650 15px/1 inherit; font-family: inherit; color: var(--wpr-ink); background: var(--wpr-bg-2); box-shadow: 0 0 0 1px var(--wpr-line);
}
.wpr-sbtn svg { inline-size: 18px; block-size: 18px; }
.wpr-native { background: var(--wpr-grad); color: #062016; box-shadow: none; }
.wpr-copy-d { display: none; }
.wpr-copy.is-done .wpr-copy-l { display: none; } .wpr-copy.is-done .wpr-copy-d { display: inline; color: var(--wpr-green); }
.wpr-targets { list-style: none; margin: 0 0 6px; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.wpr-t { display: flex; flex-direction: column; align-items: center; gap: 5px; padding-block: 6px; border-radius: 12px; text-decoration: none; color: var(--wpr-ink-2); font-size: 11.5px; }
.wpr-t:hover { background: var(--wpr-bg-2); }
.wpr-t-i { display: grid; place-items: center; inline-size: 44px; block-size: 44px; border-radius: 50%; color: #fff; font-weight: 800; font-size: 17px; }
.wpr-t-whatsapp .wpr-t-i { background: #25D366; } .wpr-t-x .wpr-t-i { background: #111; } .wpr-t-facebook .wpr-t-i { background: #1877F2; }
.wpr-t-linkedin .wpr-t-i { background: #0A66C2; } .wpr-t-telegram .wpr-t-i { background: #229ED9; } .wpr-t-email .wpr-t-i { background: #5B6B63; }
.wpr-t-l { max-inline-size: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 440px) { .wpr-targets { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 2px; } }
.wpr-qr { margin-block-start: 6px; border-block-start: 1px solid var(--wpr-line); padding-block-start: 8px; }
.wpr-qr summary { cursor: pointer; min-block-size: 40px; display: flex; align-items: center; justify-content: center; font-weight: 650; font-size: 14px; color: var(--wpr-ink-2); border-radius: 10px; }
.wpr-qr-box { display: grid; place-items: center; padding: 10px; }
.wpr-qr-box svg { inline-size: 168px; block-size: 168px; padding: 10px; border-radius: 14px; background: #fff; }

@media (prefers-reduced-motion: reduce) {
    .wpr-dialog[open] .wpr-sheet, .wpr-dialog[open]::backdrop, .wpr-art.is-on *, .wpr-art.is-on .wpr-art-phone { animation: none !important; }
    .wpr-chip, .wpr-cta, .wpr-cta svg, .wpr-art:hover .wpr-art-phone { transition: none; transform: none; }
}

/* R23B · a page's own Weesify credit made clickable (x-promo.attribution): keeps the host page's look, adds a hint. */
.wpr-attr { cursor: pointer; text-underline-offset: 3px; transition: opacity .2s ease, transform .2s ease; }
.wpr-attr:hover { text-decoration: underline; }
.wpr-attr:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 6px; }
.wpr-attr:active { transform: scale(.97); }
.evc-foot-link, .evp-foot-link, .cm-powered .wpr-attr { color: inherit; display: inline-flex; align-items: center; min-height: 44px; padding-inline: 4px; }
@media (prefers-reduced-motion: reduce) { .wpr-attr { transition: none; } .wpr-attr:active { transform: none; } }
.wpr-t-i svg { inline-size: 22px; block-size: 22px; fill: currentColor; }
.wpr-t-email .wpr-t-i svg { fill: none; stroke: currentColor; }
.wpr-t-x .wpr-t-i { box-shadow: inset 0 0 0 1px rgb(255 255 255 / .18); }
