/* QBP 2.5.11 — social graph + private messaging */
.qbp-ig-stat-button{border:0;background:transparent;padding:0;margin:0;color:inherit;font:inherit;cursor:pointer;text-align:center;min-width:72px}
.qbp-ig-stat-button:hover strong{text-decoration:underline}
.qbp-social-follow-btn.is-following{background:#fff!important;border:1px solid #dbdbdb!important}
.qbp-ig-menu__button{display:block;width:100%;border:0;background:transparent;text-align:right;padding:11px 12px;color:#111;border-radius:9px;font:inherit;font-size:13px;cursor:pointer}
.qbp-ig-menu__button:hover{background:#f5f5f5}
body.qbp-modal-open{overflow:hidden}
.qbp-social-modal[hidden]{display:none!important}
.qbp-social-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center}
.qbp-social-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.qbp-social-modal__dialog{position:relative;width:min(430px,calc(100vw - 24px));max-height:min(720px,calc(100vh - 40px));background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.25);overflow:hidden;display:flex;flex-direction:column;direction:rtl}
.qbp-social-modal__head{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #eee;flex:0 0 auto}
.qbp-social-modal__head strong{font-size:14px}
.qbp-social-modal__head button{border:0;background:transparent;font-size:25px;cursor:pointer;line-height:1}
.qbp-social-modal__body{padding:8px;overflow:auto;min-height:120px}
.qbp-social-loading,.qbp-social-empty,.qbp-message-empty{text-align:center;padding:45px 20px;color:#777;font-size:13px}
.qbp-social-user{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 8px;border-bottom:1px solid #f0f0f0}
.qbp-social-user:last-child{border-bottom:0}
.qbp-social-user__identity{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none;color:#111}
.qbp-social-user__identity img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#eee}
.qbp-social-user__identity span{display:flex;flex-direction:column;min-width:0}
.qbp-social-user__identity strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qbp-social-user__identity small{font-size:11px;color:#777;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qbp-social-follow-btn{border:1px solid #dbdbdb;border-radius:8px;background:#efefef;color:#111;min-width:92px;height:32px;padding:0 10px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.qbp-social-follow-btn.is-following{background:#fff}
.qbp-message-thread{max-height:390px;overflow:auto;padding:8px 4px;display:flex;flex-direction:column;gap:8px;background:#fafafa;border-radius:10px}
.qbp-message-bubble{max-width:78%;padding:8px 11px;border-radius:14px;font-size:12px;line-height:1.8;word-break:break-word}
.qbp-message-bubble.is-mine{align-self:flex-start;background:#111;color:#fff;border-bottom-left-radius:4px}
.qbp-message-bubble.is-theirs{align-self:flex-end;background:#fff;border:1px solid #e7e7e7;color:#222;border-bottom-right-radius:4px}
.qbp-message-bubble__name{font-size:9px;font-weight:700;opacity:.72;margin-bottom:2px}
.qbp-message-bubble time{display:block;font-size:8px;opacity:.6;margin-top:3px}
.qbp-message-form{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:8px}
.qbp-message-form textarea{min-height:42px;max-height:110px;resize:vertical;border:1px solid #ddd;border-radius:10px;padding:9px;font:inherit;font-size:12px;box-sizing:border-box}
.qbp-message-form button{border:0;border-radius:10px;background:#111;color:#fff;padding:0 16px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.qbp-inbox-list{display:flex;flex-direction:column}
.qbp-inbox-row{position:relative;display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid #f0f0f0;background:#fff;padding:11px 8px;text-align:right;cursor:pointer;font:inherit}
.qbp-inbox-row img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.qbp-inbox-row span{display:flex;flex-direction:column;min-width:0;flex:1}
.qbp-inbox-row strong{font-size:12px}
.qbp-inbox-row small{margin-top:4px;color:#777;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qbp-inbox-row i{width:8px;height:8px;border-radius:50%;background:#111;flex:0 0 auto}
@media(max-width:767px){
 .qbp-social-modal{align-items:flex-end}
 .qbp-social-modal__dialog{width:100%;max-height:82vh;border-radius:18px 18px 0 0}
 .qbp-social-modal__body{padding:8px 10px}
 .qbp-ig-stat-button{min-width:52px}
 .qbp-message-thread{max-height:48vh}
}

/* QBP 2.5.12 social stage: notifications, internal sharing and replies */
.qbp-notification-trigger{position:relative}
.qbp-notification-badge{position:absolute;top:-2px;right:-2px;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:#d62976;color:#fff;font-size:8px;line-height:15px;text-align:center;font-weight:800}
.qbp-notification-badge[hidden]{display:none}
.qbp-modal-head-actions{display:flex;align-items:center;gap:7px}
.qbp-modal-head-actions button{border:0;background:transparent;font:inherit;cursor:pointer}
.qbp-modal-head-actions [data-qbp-notifications-read-all]{font-size:10px;color:#555}
.qbp-notification-row{display:flex;align-items:center;gap:10px;padding:11px 8px;border-bottom:1px solid #f0f0f0;text-decoration:none;color:#222;position:relative}
.qbp-notification-row img,.qbp-notification-icon{width:42px;height:42px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:#f1f1f1;flex:0 0 auto}
.qbp-notification-row__body{display:block;min-width:0;flex:1;font-size:11px;line-height:1.8}
.qbp-notification-row__body strong{font-weight:800}
.qbp-notification-row__body time{display:block;color:#999;font-size:9px}
.qbp-notification-row.is-unread{background:#fafafa}
.qbp-notification-row>i{width:7px;height:7px;border-radius:50%;background:#d62976;flex:0 0 auto}
.qbp-share-user-list{display:flex;flex-direction:column}
.qbp-share-user-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 5px;border-bottom:1px solid #f0f0f0}
.qbp-share-user-row>span{display:flex;align-items:center;gap:9px;min-width:0}
.qbp-share-user-row img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.qbp-share-user-row strong{font-size:11px}
.qbp-share-user-row button{border:1px solid #ddd;background:#fff;border-radius:8px;padding:7px 12px;font:inherit;font-size:10px;font-weight:700;cursor:pointer}
.qbp-share-user-row button.is-sent{background:#111;color:#fff;border-color:#111}
.qbp-message-share-card{display:flex;gap:8px;align-items:center;padding:6px;border:1px solid rgba(0,0,0,.08);border-radius:9px;text-decoration:none;color:inherit;background:rgba(255,255,255,.7)}
.qbp-message-share-card img{width:48px;height:48px;border-radius:6px;object-fit:cover}
.qbp-message-share-card span{display:flex;flex-direction:column;gap:2px}
.qbp-message-share-card strong{font-size:10px}
.qbp-message-share-card small{font-size:8px;line-height:1.6;opacity:.7}
.qbp-ig-comment{padding:4px 0}
.qbp-ig-comment.is-reply{padding-right:18px}
.qbp-ig-comment>div:first-child{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.qbp-ig-comment>div:first-child span{line-height:1.8}
.qbp-comment-tools{display:flex;gap:8px;margin-top:2px}
.qbp-comment-tools button{border:0;background:none;padding:0;color:#888;font:inherit;font-size:9px;cursor:pointer}
.qbp-ig-comment-form.is-replying{background:#fafafa;border-radius:8px;padding:5px}
.qbp-ig-comment-form [data-qbp-cancel-reply]{border:0;background:none;color:#888;font:inherit;font-size:9px;cursor:pointer}

/* QBP 2.5.13 — social graph clarity */
.qbp-social-user__identity span{gap:2px}
.qbp-social-relation{display:block!important;font-style:normal;color:#888;font-size:9px!important;line-height:1.5}
.qbp-social-follow-btn[aria-pressed="true"]{font-weight:700}
.qbp-ig-stat-button strong{display:block;line-height:1.2}


/* QBP 2.5.16 — Stage 3: full message/notification surfaces */
.qbp-menu-badge{display:inline-flex;min-width:16px;height:16px;padding:0 4px;border-radius:999px;align-items:center;justify-content:center;background:#111;color:#fff;font-size:9px;font-weight:800;margin-inline-start:5px}
.qbp-menu-badge[hidden]{display:none}
.qbp-messages-page,.qbp-notifications-page{max-width:760px;margin:20px auto;padding:0 12px;font-family:inherit}
.qbp-messages-page__header,.qbp-notifications-page__header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 4px 14px;border-bottom:1px solid #eee}
.qbp-messages-page__header h2,.qbp-notifications-page__header h2{margin:0;font-size:20px}
.qbp-messages-page__header p,.qbp-notifications-page__header p{margin:4px 0 0;color:#888;font-size:11px}
.qbp-message-unread-total{min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:#111;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}
.qbp-messages-page .qbp-inbox-row{padding:14px 6px}
.qbp-messages-page .qbp-inbox-row time{font-size:9px;color:#999;white-space:nowrap}
.qbp-messages-page .qbp-inbox-row.is-unread{background:#fafafa}
.qbp-message-page-thread{padding-top:10px}
.qbp-message-page-thread__head{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eee}
.qbp-message-page-thread__head a{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#f5f5f5;text-decoration:none;color:#111;font-size:20px}
.qbp-message-page-thread__head strong{font-size:14px}
.qbp-message-thread--page{max-height:55vh;margin-top:10px;border:1px solid #eee;border-radius:14px;padding:10px;overflow:auto}
.qbp-notifications-page__header button{border:1px solid #ddd;background:#fff;border-radius:9px;padding:8px 12px;font:inherit;font-size:10px;cursor:pointer}
.qbp-notifications-page .qbp-notifications-list{border:1px solid #eee;border-top:0;border-radius:0 0 14px 14px;overflow:hidden}
@media(max-width:700px){
 .qbp-messages-page,.qbp-notifications-page{margin:0 auto;padding:0 8px}
 .qbp-message-thread--page{max-height:52vh}
}

/* v23.3.1 unified Instagram-style module media */

/* QBP v23.3.3 — Direct message composer/search hardening */
.qbp-message-user-search{display:flex;gap:8px;padding:10px 0;border-bottom:1px solid #eee}
.qbp-message-user-search input{flex:1;min-width:0;border:1px solid #ddd;border-radius:10px;padding:10px;font:inherit;font-size:12px;background:#fff}
.qbp-message-user-search button{border:0;border-radius:10px;background:#111;color:#fff;padding:0 14px;font:inherit;font-size:11px;font-weight:700}
.qbp-message-user-results{border-bottom:1px solid #eee}
.qbp-message-user-results__list{display:flex;flex-direction:column}
.qbp-message-user-result{display:flex;align-items:center;gap:9px;width:100%;padding:10px 4px;border:0;border-bottom:1px solid #f0f0f0;background:#fff;text-align:right;font:inherit;cursor:pointer}
.qbp-message-user-result img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.qbp-message-user-result span{display:flex;flex-direction:column;min-width:0;flex:1}
.qbp-message-user-result strong{font-size:12px}
.qbp-message-user-result small{font-size:10px;color:#777;margin-top:2px}
.qbp-message-user-result b{font-size:10px;background:#111;color:#fff;border-radius:8px;padding:6px 10px}
.qbp-message-share-card--reel{background:#111;color:#fff}
.qbp-message-share-card--reel img{width:52px;height:68px;object-fit:cover}
.qbp-message-share-card__reel-icon{width:52px;height:68px;display:grid;place-items:center;background:#222;color:#fff}


/* QBP 25.4.1 unified user/business information */
.qbp-user-info-panel{margin:18px 0;padding:16px;border:1px solid rgba(0,0,0,.10);border-radius:16px;background:#fff}
.qbp-user-info-panel__head{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.qbp-user-info-panel__head small,.qbp-user-info-panel__privacy{opacity:.68;font-size:12px;line-height:1.7}
.qbp-user-info-panel__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.qbp-user-info-panel__grid label{display:flex;flex-direction:column;gap:6px;font-weight:600}
.qbp-user-info-panel__grid label span{font-size:13px}
.qbp-user-info-panel__grid input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #ddd;border-radius:10px;background:#fff}
.qbp-user-info-panel__full{grid-column:1/-1}
.qbp-user-info-panel__privacy{display:block;margin-top:10px}
.qbp-map-pin{display:inline-flex!important;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-size:24px;text-decoration:none!important;cursor:pointer}
@media(max-width:640px){.qbp-user-info-panel__grid{grid-template-columns:1fr}.qbp-user-info-panel__full{grid-column:auto}}

/* v25.20.4 content card action menu */
.qbp-content-menu{position:relative;display:inline-block}.qbp-content-menu-toggle{background:none;border:0;font-size:22px;cursor:pointer}.qbp-content-menu-items{display:none;position:absolute;z-index:50;min-width:160px;background:#fff;border:1px solid #ddd;padding:8px;border-radius:10px}.qbp-content-menu:hover .qbp-content-menu-items,.qbp-content-menu:focus-within .qbp-content-menu-items{display:flex;flex-direction:column;gap:8px}.qbp-content-menu-items a,.qbp-content-menu-items button{padding:6px;text-align:right;background:none;border:0;cursor:pointer}

/* QBP v25.24.9 — functional inline comments */
.qbp-ig-comments-panel{margin-top:8px;padding:10px;border-top:1px solid #eee;background:#fff}
.qbp-ig-comments-panel[hidden]{display:none!important}
.qbp-ig-comments-panel .qbp-ig-comments-list{max-height:260px;overflow:auto;display:grid;gap:6px;margin-bottom:8px}
.qbp-ig-comments-panel .qbp-ig-comment{padding:7px 0;border-bottom:1px solid #f3f3f3}
.qbp-ig-comment-form{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:8px}
.qbp-ig-comment-form input{min-width:0;border:1px solid #ddd;border-radius:10px;padding:9px;font:inherit;font-size:12px}
.qbp-ig-comment-form button{border:0;border-radius:10px;background:#111;color:#fff;padding:0 14px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}


/* QBP v25.25.1 — receipt management cards in Notifications. */
.qbp-notification-row--receipt{background:#fffdf5!important}.qbp-notification-icon--receipt{font-size:19px!important;font-weight:900!important;background:#fff3c4!important;color:#8a6200!important}
.qbp-receipts-panel{margin:14px 0 18px;padding:14px;border:1px solid #eee;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.04)}.qbp-receipts-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.qbp-receipts-panel h3{margin:0;font-size:16px}.qbp-receipts-panel header p{margin:4px 0 0;color:#888;font-size:10px;line-height:1.8}.qbp-receipts-badge{padding:6px 9px;border-radius:999px;background:#fff3cd;color:#765500;font-size:10px;white-space:nowrap}.qbp-receipts-list{display:grid;gap:8px}.qbp-receipt-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;border:1px solid #eee;border-radius:12px;background:#fafafa}.qbp-receipt-card__media{width:54px;height:54px;border-radius:9px;overflow:hidden;background:#eee;display:grid;place-items:center;color:#777;font-size:10px;font-weight:800}.qbp-receipt-card__media img{width:100%;height:100%;object-fit:cover;display:block}.qbp-receipt-card__body{display:grid;gap:2px;min-width:0}.qbp-receipt-card__body strong{font-size:12px}.qbp-receipt-card__body span{font-size:10px;color:#8a6200}.qbp-receipt-card__body small{font-size:9px;color:#777}.qbp-receipt-card__actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.qbp-receipt-card__actions .qbp-commerce-btn{font-size:10px;padding:7px 9px}.qbp-receipts-empty{padding:15px;text-align:center;color:#888;font-size:11px;background:#fafafa;border-radius:10px}@media(max-width:560px){.qbp-receipt-card{grid-template-columns:48px minmax(0,1fr)}.qbp-receipt-card__media{width:48px;height:48px}.qbp-receipt-card__actions{grid-column:1/-1;justify-content:stretch}.qbp-receipt-card__actions .qbp-commerce-btn{flex:1}.qbp-receipts-panel>header{align-items:flex-start;flex-direction:column}}

/* QBP v25.26.0 — Central notification center: strict domain separation. */
.qbp-notification-group-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 16px}
.qbp-notification-group-card{display:flex;align-items:center;gap:9px;min-width:0;padding:12px 10px;border:1px solid #e9e9e9;border-radius:14px;background:#fff;color:#222;text-decoration:none;box-shadow:0 3px 12px rgba(0,0,0,.035);transition:transform .15s ease,box-shadow .15s ease}
.qbp-notification-group-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.07)}
.qbp-notification-group-card__icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;font-size:18px;font-weight:800;background:#f5f5f5}
.qbp-notification-group-card--messages .qbp-notification-group-card__icon{background:#eef4ff}
.qbp-notification-group-card--social .qbp-notification-group-card__icon{background:#fff0f5}
.qbp-notification-group-card--receipts .qbp-notification-group-card__icon{background:#fff4d6;color:#8a6200}
.qbp-notification-group-card__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.qbp-notification-group-card__body strong{font-size:11px;font-weight:800}
.qbp-notification-group-card__body small{font-size:8px;line-height:1.55;color:#777}
.qbp-notification-group-card__count{min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;font-size:9px;font-weight:800}
.qbp-notification-group-card__arrow{font-size:14px;color:#999}
.qbp-notification-group{margin:0 0 16px;border:1px solid #eee;border-radius:15px;background:#fff;overflow:hidden}
.qbp-notification-group>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 12px;background:#fafafa;border-bottom:1px solid #eee}
.qbp-notification-group>header h3{margin:0;font-size:13px}
.qbp-notification-group>header p{margin:3px 0 0;color:#888;font-size:9px;line-height:1.6}
.qbp-notification-group>header>span{min-width:24px;height:24px;border-radius:999px;background:#f0f0f0;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:800}
.qbp-notification-group--receipts>header{background:#fffdf5}
.qbp-notification-group--receipts .qbp-notification-row--receipt{border-bottom:1px solid #f3ead0}
@media(max-width:640px){
 .qbp-notification-group-cards{grid-template-columns:1fr}
 .qbp-notification-group-card{padding:11px}
}

/* QBP 25.27.0 — Notification Center final isolation/read-state UI */
.qbp-notification-group header{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:14px 10px;border:1px solid #eee;border-bottom:0;border-radius:14px 14px 0 0}
.qbp-notification-group header>div{min-width:0;flex:1}
.qbp-notification-group-count{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:10px;color:#777}
.qbp-notification-group-count b{font-size:12px;color:#111}
.qbp-notification-group-count em{font-style:normal;font-size:9px}
.qbp-notification-group-read{border:1px solid #ddd;background:#fff;border-radius:8px;padding:6px 9px;font:inherit;font-size:9px;cursor:pointer;white-space:nowrap}
.qbp-notification-row.is-unread{background:#f7f7f7}
.qbp-notification-row:not(.is-unread){opacity:.88}
@media(max-width:520px){
 .qbp-notification-group header{flex-wrap:wrap}
 .qbp-notification-group header>div{flex-basis:100%}
}

/* v25.28.0 — receipt deep-link focus */
.qbp-receipt-card--focused{outline:2px solid currentColor;outline-offset:3px;scroll-margin-top:96px}
